c# 파일 쓰기 예제

Posted on

C# 파일 작업에서 일반적으로 스트림은 파일을 읽고 쓰는 데 사용됩니다. 스트림은 응용 프로그램과 파일 간에 생성된 추가 계층입니다. 스트림은 파일에 대한 원활한 읽기 및 쓰기 작업을 보장하는 데 사용됩니다. 텍스트 파일에 쓰려면 StreamReader 대신 StreamWriter를 사용합니다. 하지만 같은 방식으로 사용됩니다: 이 예제에서는 간단한 Console 응용 프로그램을 만들고 파일 스트림으로 작업하여 양식에 다른 단추를 추가합니다. 다음 코드를 두 번 클릭하고 입력합니다(원하는 경우 이전 섹션에서 더 긴 file_name 줄, Environment.GetFolderPath 등을 사용하는 줄을 추가할 수 있습니다): 쓰기 또는 WriteLine을 사용하면 현재 파일을 덮어씁니다. 따라서 단추를 두 번 클릭하면 새 텍스트가 끝에 추가되지 않습니다. 그것은 단지 이미 있는 것을 지우고 다시 씁니다. 다음 예제에서는 StreamWriter 클래스를 사용하여 한 번에 한 줄에 새 파일에 텍스트를 동기적으로 쓰는 방법을 보여 주어 있습니다. StreamWriter 개체가 선언되고 using 문에서 인스턴스화되므로 Dispose 메서드가 호출되어 스트림이 자동으로 플러시되고 닫힙니다. 다음 예제에서는 StreamWriter 클래스를 사용하여 새 파일에 텍스트를 비동기적으로 작성하는 방법을 보여 주며 있습니다.

WriteAsync 메서드를 호출하려면 메서드 호출이 비동기 메서드 내에 있어야 합니다. C# 예제에서는 C# 7.1 이상이 필요하며 프로그램 진입점에서 비동기 수정자를 지원합니다. 스트림 작성기는 스트림을 사용하여 파일에 데이터를 작성하는 데 사용됩니다. 응용 프로그램의 데이터가 먼저 스트림에 기록됩니다. 그런 다음 스트림이 파일에 데이터를 씁니다. 파일에서 데이터를 작성하는 데 스트림을 사용하는 방법의 예를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력합니다. StreamWriter의 둥근 대괄호 와 사용하려는 파일 후에 true를 입력하여 파일에 데이터를 부가합니다. 기본값은 false입니다.

작은 청크로 분해하는 이유는 한 방에 큰 파일을 읽는 성능 에 영향을 미치기 때문입니다. 한 번에 100MB 파일이라는 데이터를 읽는다면 응용 프로그램이 중단되어 불안정해질 수 있습니다. 가장 좋은 방법은 스트림을 사용하여 파일을 관리 가능한 청크로 분해하는 것입니다. 스트림은 일반적으로 대용량 파일에서 데이터를 읽을 때 사용됩니다. 스트림을 사용하면 대용량 파일의 데이터가 작은 청크로 세분화되어 스트림으로 전송됩니다. 그런 다음 이러한 데이터 청크를 응용 프로그램에서 읽을 수 있습니다. 따라서 파일에서 쓰기 작업이 수행되면 기록할 데이터가 먼저 스트림에 기록됩니다. 스트림에서 데이터가 파일에 기록됩니다. 읽기 작업도 마찬가지입니다. 읽기 작업에서 데이터는 먼저 파일에서 스트림으로 전송됩니다. 그런 다음 스트림을 통해 응용 프로그램에서 데이터를 읽습니다. 스트림을 사용하여 읽고 쓸 수 있는 방법에 대한 예를 살펴보겠습니다.

이 예제에서는 Example.txt라는 D 드라이브에 파일이 있다고 가정합니다. 이 파일은 간단한 텍스트 파일이 될 것이며, 아래와 같이 2 줄파일쓰기AllLines 및 WriteAllText와 같은 파일에 텍스트를 작성하거나 부록AllLines, 부속AllText 및 부록 텍스트와 같은 파일에 텍스트를 부하는 정적 방법을 제공합니다. WriteLine의 둥근 대괄호 사이에 텍스트 파일에 쓸 줄을 추가합니다. 이 작업은 일반적으로 루프에서 수행되며 파일에 작성하려는 텍스트 배열이 있는 경우에 유용합니다. 다음은 이를 수행하는 코딩 예제입니다. 배열을 설정한 다음 해당 배열을 순환하여 각 줄을 텍스트 파일에 기록합니다. 직접 사용해 보십시오. 파일에서 데이터를 읽기 위해 스트림을 사용하는 방법의 예를 살펴보겠습니다. program.cs 파일에 아래 코드를 입력합니다. System.IO.StreamWriter objWriter; objWriter = 새 System.IO.StreamWriter(파일_이름); 경로는 파일 또는 디렉터리 경로 정보가 있는 문자열에 대한 것입니다. 결합 메서드와 .NET Core 2.1 이상에서는 문자열을 연결하여 파일 또는 디렉터리 경로를 빌드할 수 있는 조인 및 TryJoin 메서드가 포함되어 있습니다. 여기서는 StreamWriter 개체를 설정하고 objWriter라고 합니다.