집 >백엔드 개발 >C#.Net 튜토리얼 >파일 내용에서 문자열을 생성하는 C# 프로그램
파일 내용을 기반으로 문자열을 생성하는 C# 프로그램을 만드는 방법을 살펴보겠습니다. 문자열은 파일 처리의 필수적인 부분입니다. C#의 문자열은 일련의 문자입니다. 예를 들어, "TutorialsPoint"는 't' 'u' 't' 'o' 'r' 'i' 'a' 'l' 's' 'p' 'o' 'i' 'n' '을 포함하는 값입니다. t 문자열 '을 문자로 사용합니다. string 키워드를 사용하여 문자열을 생성합니다.
일반 용어로 파일 처리 또는 파일 관리는 파일 생성, 파일 읽기, 파일 쓰기, 파일 첨부 등과 같은 다양한 프로세스입니다. 파일 보기 및 쓰기는 파일 관리에서 가장 일반적인 두 가지 작업입니다. C#의 System.IO 범주에는 입력 및 출력 스트림을 처리하는 클래스가 포함되어 있습니다.
문자열 생성은 파일 처리에서 중요한 부분입니다. 여기에서는 전체 텍스트를 읽은 다음 문자열로 전송합니다. 파일 내용에서 문자열을 만드는 방법에는 두 가지가 있습니다. 다음 섹션에서는 파일의 내용을 읽고 이를 문자열로 전송하는 두 가지 방법을 살펴보겠습니다.
파일의 전체 내용을 문자열로 읽는 첫 번째 방법입니다. 여기서는 File.ReadAllText() 메서드가 사용됩니다. File.ReadAllText()는 파일의 모든 내용을 읽고 해당 내용을 문자열로 전송합니다. 파일의 인코딩은 File.ReadAllText()에 의해 자동으로 결정됩니다. 파일의 인코딩은 오버로드된 버전에 따라 결정됩니다. 인코딩을 정의하면 문자 집합에 쓰여진 각 문자에 숫자 값을 부여할 수 있는 번호 매기기 시스템입니다. 문자, 숫자 및 기타 기호의 문자를 문자 세트에서 찾을 수 있습니다.
파일을 여는 명령을 실행하는 동안 소스 파일을 찾을 수 없거나 다른 유형의 I/O 오류가 발생하면 IOException이 발생합니다. 이는 파일의 입력 및 출력에 문제가 있는 경우 발생할 수 있습니다.
아래 알고리즘은 File.ReadAllText() 메서드를 사용하여 파일 콘텐츠에서 문자열을 생성하는 단계별 프로세스를 제공합니다.
예를 들어, 파일에서 모든 내용을 읽은 다음 내용을 문자열로 전송해야 한다면 아래와 같이 정확한 알고리즘을 제공해야 합니다.
1단계 −fileName의 인스턴스를 생성하여 파일에서 읽고 주소를 제공합니다.
2단계 − File.ReadAllText를 사용하여 파일에서 텍스트 줄을 읽고 표시하고 텍스트로 저장합니다.
3단계 − catch를 사용하여 오류가 발생하면 오류를 잡아내려고 합니다.
4단계 −오류가 있으면 e에 저장한 후 표시합니다.
5단계 −Console.Readkey()를 사용하여 마지막에 프로그램 실행을 중지합니다.
다음은 예시를 보여주는 코드 조각입니다.
으아악여기서는 먼저 문자열에 경로를 지정한 다음 해당 주소에서 문자열을 전달하여 엽니다. 그런 다음 전체 내용을 생성된 문자열에 복사합니다. 파일을 열 수 없으면 오류가 발생하고 화면에 혼란스러운 메시지가 나타납니다. SteamReader 클래스를 사용하여 이를 수행하는 또 다른 방법이 있습니다. 우리도 똑같이 해보자.
File.ReadAllText()의 대체 솔루션은 SteamReader.ReadToEnd()입니다. 또한 전체 파일을 한 번에 읽고 내용을 문자열로 복사합니다. Steam.Reader는 이를 위해 File.OpenText 메서드를 사용합니다. 그런 다음 ReadToEnd() 메서드는 사용자가 언급한 전체 파일을 한 번에 읽습니다. SteamReader 개체의 작업이 완료되면 Dispose() 메서드가 Destructor()처럼 자동으로 호출되고 스트림이 플러시/삭제됩니다.
아래 알고리즘은 SteamReader.ReadToEnd() 메서드를 사용하여 파일 콘텐츠에서 문자열을 생성하는 단계별 프로세스를 제공합니다.
예를 들어, 파일에서 모든 내용을 읽은 다음 내용을 문자열로 전송해야 한다면 아래와 같이 정확한 알고리즘을 제공해야 합니다.
1단계 −fileName의 인스턴스를 생성하여 파일에서 읽고 주소를 제공합니다.
2단계− StreamReader의 인스턴스를 생성하여 파일의 콘텐츠를 읽습니다.
第 3 步 − 使用 SteamReader.ReadToEnd() 从文件中读取文本行并将其存储在变量文本中。
第 4 步 − 现在我们使用 Console.Writeline() 写入文本数据。
第 5 步 −通过使用 Console.Readkey(),我们在最后停止了程序的执行。
现在,让我们看看代码。
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Example { public static void Main() { string fileName = @"C:\some\path\file.txt"; // Creating an instance strRead of StreamReader for reading text from the given file using (StreamReader strRead = File.OpenText(fileName)) { string text = strRead.ReadToEnd(); Console.WriteLine(text); } Console.ReadKey(); } }
Input is completed
当我们使用 File.OpenText() 时,它默认打开一个现有的 UTF-8 编码文件。要访问具有不同字符编码的文件,需要使用接受替代字符编码的 StreamReader 类构造函数。
The given example creates a new ASCII StreamReader from a file with byte order mark recognition set to true.
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public class Example { public static void Main() { string fileName = @"C:\some\path\file.txt"; // Creating an instance strRead of StreamReader for reading text from the given file using (StreamReader strRead = new StreamReader(fileName, Encoding.ASCII, true)) { string text = strRead.ReadToEnd(); Console.WriteLine(text); } Console.ReadKey(); } }
Input is completed
在这两个代码中,如果我们看到没有循环,因为我们只是创建一个实例来读取文件。然后将文件的所有内容复制到字符串中。对于 File.ReadAllText() 方法,时间复杂度为 O(1)。类似地,在 SteamReader.ReadToEnd() 方法中,时间复杂度为 O(1)。
在本文中,我们广泛讨论了从文件内容创建字符串的 C# 程序。首先,我们讨论了字符串,然后讨论了将文件的完整内容读取到字符串中的不同类型的方法。我们希望本文能够帮助您增强有关 C# 的知识。
위 내용은 파일 내용에서 문자열을 생성하는 C# 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!