>  기사  >  백엔드 개발  >  C# 프로그램은 파일 내용을 한 줄씩 읽습니다.

C# 프로그램은 파일 내용을 한 줄씩 읽습니다.

WBOY
WBOY앞으로
2023-08-28 12:41:081213검색

C# 程序逐行读取文件内容

소개

여기에서는 파일 내용을 한 줄씩 읽는 C# 프로그램을 작성하는 방법을 알아봅니다. 이를 수행하는 방법에는 여러 가지가 있습니다. 우리는 그것들을 하나씩 논의할 것입니다.

파일 처리는 C#으로 이루어집니다. 대부분의 경우 파일은 데이터를 저장하는 데 사용됩니다. 평신도의 관점에서 파일 처리 또는 파일 관리는 파일 생성, 파일 읽기, 파일 쓰기, 파일 추가 등과 같은 다양한 프로세스입니다. 파일 읽기 및 쓰기는 파일 처리에서 가장 일반적인 두 가지 작업입니다.

1. File.ReadLines() 메서드를 사용하세요

파일 내용을 한 줄씩 읽는 첫 번째 방법은 File.ReadLines() 메서드를 사용하는 것입니다. 이 메소드는 문자 인코딩을 선택적 매개변수로 허용합니다.

음, 이 프로세스에서는 IO 예외와 같은 일부 예외가 발생할 수 있습니다. 이 오류는 I/O 오류가 발생하는 경우 발생하며, 열려고 하는 파일을 찾을 수 없는 경우에는 FileNotFoundException이 발생합니다.

이 프로세스에는 단점도 있습니다. 대용량 파일을 처리할 때 이 기술은 상당히 비효율적이기 때문입니다. 이는 전체 컬렉션을 반환하기 전에 열거를 시작할 수 있는 Enumerable을 반환합니다.

알고리즘

아래 알고리즘은 File.ReadLines() 메서드를 사용하여 파일 내용을 한 줄씩 읽는 단계별 프로세스를 제공합니다.

아래에 설명된 알고리즘은 프로그램을 만드는 데 도움이 될 것입니다.

1단계 파일 경로 이름을 저장할 문자열을 만듭니다. 이는 절대 경로라는 점을 기억하세요.

2단계 파일을 한 줄씩 읽을 때 IEumerable을 사용하여 최종 결과를 얻습니다.

3단계 Environment.Newline을 사용하여 환경에 대해 정의된 개행 문자열을 가져옵니다. 그런 다음 프로그램이 종료됩니다.

이 프로세스의 코드는 다음과 같습니다. -

으아악

출력

으아악

먼저 파일 위치의 주소가 포함된 문자열 유형의 변수를 만들어야 합니다. 그런 다음 프로그램에서 파일을 한 줄씩 읽습니다.

2. File.ReadAllLines() 메서드를 사용하세요

파일 내용을 한 줄씩 읽는 또 다른 방법은 File.ReadAllLines() 메서드를 사용하는 것입니다. 빅 데이터 파일의 경우 ReadAllLines를 ReadAllLines로 사용하면 안 됩니다. Enumerable을 반환하는 ReadLines와는 달리 ReadAllLines는 파일의 모든 라인을 포함하는 문자열 배열을 제공하며 액세스할 수 있으려면 전체 문자열 배열이 반환될 때까지 기다려야 합니다. 정렬.

이 방법은 ReadLines가 수행하는 것과 유사하게 문자 인코딩을 선택적 매개변수로 허용합니다. 그러면 이 프로세스에서 IO 예외와 같은 일부 예외가 발생할 수 있습니다. 이 오류는 I/O 오류가 발생하는 경우 발생하며, 열려고 하는 파일을 찾을 수 없는 경우에는 FileNotFoundException이 발생합니다.

알고리즘

아래 알고리즘은 File.ReadAllLines() 메서드를 사용하여 파일 내용을 한 줄씩 읽는 단계별 프로세스를 제공합니다.

아래에 설명된 알고리즘은 프로그램을 만드는 데 도움이 됩니다.

1단계 파일 경로 이름을 저장할 문자열을 만듭니다. 이는 절대 경로라는 점을 기억하세요.

2단계 다음으로 프로그램은 ReadAllLines를 사용하여 텍스트 파일을 열고 모든 줄을 읽은 다음 종료합니다.

p>

3단계 Environment.Newline을 사용하여 환경에 정의된 개행 문자열을 가져옵니다. 그런 다음 프로그램이 종료됩니다.

이 프로세스의 코드는 다음과 같습니다. -

으아악

출력

으아악

먼저 파일 위치의 주소가 포함된 문자열 유형의 변수를 만들어야 합니다. 그런 다음 프로그램에서 파일을 한 줄씩 읽습니다. 여기서 차이점은 행을 문자열로 읽는다는 것입니다. 프로그램에서 string.join을 사용하면 모두 연결됩니다.

3. StreamReader.ReadLine() 메서드를 사용하세요

StreamReader 클래스를 통해 파일을 한 줄씩 읽는 방법도 있습니다. 메서드는 StreamReader.ReadLine()입니다. 파일 끝까지 실행됩니다.

현재 스트림에서 텍스트 한 줄을 읽고 이를 문자열로 반환하는 방식으로 작동합니다. 입력 스트림의 다음 줄을 반환하거나, 입력 스트림이 종료된 경우 null을 반환합니다. 이렇게 하면 파일의 끝에 도달합니다.

I/O 오류가 발생하면 I/O 예외도 발생합니다. 또 다른 예외는 반환된 문자열에 대한 버퍼를 생성할 메모리가 충분하지 않을 때 발생하는 OutOfMemoryException입니다.

알고리즘

아래 알고리즘은 StreamReader.ReadLine() 메서드를 사용하여 파일 내용을 한 줄씩 읽는 단계별 프로세스를 제공합니다.

下面讨论的算法将引导我们创建程序。

第 1 步  创建一个字符串来存储文件路径的名称,记住这是一个绝对路径。

第 2 步 −  创建一个新的读取来读取文件的内容。

第 3 步  while 循环运行到文件末尾。当它达到 null 时就确定结束。

第 4 步  最终,代码在读取文件内容后退出。

示例

以下是该过程的代码 -

using System;
using System.IO;

public class Example {
   public static void Main() {
      string fileloc = @"D:\ttpt\locew.txt";

      using (StreamReader read = new StreamReader(fileloc)) {
         string line;
         while ((line = read.ReadLine()) != null) {
            Console.WriteLine(line);
         }
      }
   }
}

输出

This is a file.
Hello from tutorials point.

在此方法中,也首先使用文件地址创建一个字符串。然后创建一个读取实例。它通过逐行读取内容到达空值,即文件末尾。

时间复杂度

从这里开始,我们正在逐行读取文件,但要一次性读取。无论使用哪种方法,即 File.ReadLines()、Files.ReadAllLines() 和 StreamReader.ReadLine()。他们所有人都在一次读取文件。所以,这里每个方法的时间复杂度都是O(1)。

结论

在本文中,我们广泛讨论了逐行读取文件内容的 C# 程序。我们了解了如何通过三种不同的方式来完成它。 File 类中的两个函数是 ReadLines() 和 ReadAllLines()。第三个来自 StreamReader 类。然后我们讨论了三种技术的代码和算法。我们希望本文能够帮助您增强有关 C# 的知识。

위 내용은 C# 프로그램은 파일 내용을 한 줄씩 읽습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제