C# 텍스트 파일 읽기(.txt) 방법 인스턴스
txt 파일 읽기
읽을 파일의 내용이 많지 않으면 File을 사용할 수 있습니다.ReadAllText(filePath) 또는 인코딩 방식 File을 지정합니다.ReadAllText(FilePath, Encoding) 메서드입니다.그것들은 한꺼번에 텍스트 내용을 모두 읽고 모든 텍스트 내용을 포함하는 문자열을 되돌려준다
string str1 = File.ReadAllText(@"c:\temp\a.txt");
//
string str2 = File.ReadAllText(@"c:\temp\a.txt", Encoding.ASCII);
메소드 파일도 사용할 수 있습니다.ReadAllLines, 이 방법은 텍스트 내용의 모든 줄을 한 번에 읽고 문자열 그룹을 되돌려줍니다. 그룹 요소는 한 줄의 내용입니다.
string[] strs1 = File.ReadAllLines(@"c:\temp\a.txt");
//
string[] strs2 = File.ReadAllLines(@"c:\temp\a.txt", Encoding.ASCII);
텍스트의 내용이 비교적 크면 우리는 텍스트 내용을 한꺼번에 다 읽지 말고 흐름(Stream) 방식으로 내용을 읽어야 한다..Net은 특정 인코딩으로 바이트 흐름에서 문자를 읽을 수 있도록 StreamReader 클래스를 봉인했습니다.StreamReader 클래스의 방법은 정적 방법이 아닙니다. 따라서 이 클래스를 사용하여 파일을 읽으려면 먼저 이 클래스를 실례화해야 합니다. 실례화할 때 파일을 읽는 경로를 제공해야 합니다.실례화된 StreamReader 클래스에는 여러 가지 방법이 있습니다.다음은 몇 가지를 나열해 보겠습니다.
StreamReader sR1 = new StreamReader(@"c:\temp\a.txt");
//
StreamReader sR2 = new StreamReader(@"c:\temp\a.txt", Encoding.UTF8);
FileStream fS = new FileStream(@"C:\temp\a.txt", FileMode.Open, FileAccess.Read, FileShare.None);
StreamReader sR3 = new StreamReader(fS);
StreamReader sR4 = new StreamReader(fS, Encoding.UTF8);
FileInfo myFile = new FileInfo(@"C:\temp\a.txt");
// OpenText UTF-8 StreamReader
StreamReader sR5 = myFile.OpenText();
// OpenText UTF-8 StreamReader
StreamReader sR6 = File.OpenText(@"C:\temp\a.txt");
초기화가 끝나면 한 줄씩 읽을 수도 있고, 한 글자씩 읽을 수도 있고, 몇 글자씩 읽을 수도 있고, 모든 내용을 한 번에 다 읽을 수도 있다
//
string nextLine = sR.ReadLine();
//
int nextChar = sR.Read();
// 100
int n = 100;
char[] charArray = new char[n];
int nCharsRead = sR.Read(charArray, 0, n);
//
string restOfStream = sR.ReadToEnd();
StreamReader를 사용한 후 닫는 것을 잊지 마십시오: sR.Close().만약 우리가 한 줄씩 읽어야 한다면, 전체 텍스트 파일을 다 읽고, 다음은 완전한 예를 보십시오.
StreamReader sR = File.OpenText(@"C:\temp\a.txt");
string nextLine;
while ((nextLine = sR.ReadLine()) != null)
{
Console.WriteLine(nextLine);
}
sR.Close();
txt 파일 쓰기
파일을 쓰는 것은 파일을 읽는 것과 같다. 만약 당신이 쓸 내용이 많지 않다면 File을 사용할 수 있다.WriteAllText 메서드는 한 번에 모든 내용을 파일로 작성합니다.문자열의 내용을 파일에 쓰려면 File을 사용하십시오.WriteAllText(FilePath) 또는 인코딩 방식 File을 지정합니다.WriteAllText(FilePath, Encoding) 메서드
string str1 = "Good Morning!";
File.WriteAllText(@"c:\temp\test\a.txt", str1);
//
File.WriteAllText(@"c:\temp\test\a.txt", str1, Encoding.ASCII);
만약 문자열 그룹이 있다면, 그룹의 모든 요소를 한 줄로 파일에 쓰려면 파일을 사용할 수 있습니다.WriteAllLines 방법
string[] strs = { "Good Morning!","Good Afternoon!","Good Evening!"};
File.WriteAllLines(@"c:\temp\a.txt", strs);
//
File.WriteAllLines(@"c:\temp\a.txt", strs, Encoding.ASCII);
파일 사용.WriteAllText 또는 File.WriteAllLines 메서드는 지정된 파일 경로가 없는 경우 새 파일을 생성합니다.파일이 이미 존재하면 원본 파일을 덮어씁니다.쓸 내용이 많을 때, 스트림(Stream) 방식으로도 써야 한다
.Net은 특정 인코딩으로 바이트 흐름에 문자를 쓰는 StreamWriter 클래스를 봉인합니다.StreamWriter 클래스 역시 정적 방법이 아니므로 이 클래스를 사용하여 파일을 작성하려면 먼저 클래스를 실례화해야 합니다. StreamWriter 클래스 역시 여러 가지 방법이 있습니다.
// , ; ,
StreamWriter sW1 = new StreamWriter(@"c:\temp\a.txt");
// , true Appendtext, false
StreamWriter sW2 = new StreamWriter(@"c:\temp\a.txt", true, Encoding.UTF8);
// FileMode.CreateNew: , ; ,
FileStream fS = new FileStream(@"C:\temp\a.txt", FileMode.CreateNew, FileAccess.Write, FileShare.Read);
StreamWriter sW3 = new StreamWriter(fS);
StreamWriter sW4 = new StreamWriter(fS, Encoding.UTF8);
// , ; ,
FileInfo myFile = new FileInfo(@"C:\temp\a.txt");
StreamWriter sW5 = myFile.CreateText();
초기화가 완료되면 StreamWriter 객체로 한 줄, 한 문자, 한 문자 그룹, 심지어 한 문자 그룹의 일부를 한 번에 쓸 수 있습니다
//
sw.Write('a');
//
char[] charArray = new char[100];
sw.Write(charArray);
// (10~15)
sw.Write(charArray, 10, 15);
마찬가지로 StreamWriter 객체를 사용한 후에는 닫는 것을 잊지 마십시오.sW.Close(); 마지막으로 StreamWriter를 사용하여 한 번에 한 줄씩 쓰는 전체 예를 살펴보겠습니다.
FileInfo myFile = new FileInfo(@"C:\temp\a.txt");
StreamWriter sW = myFile.CreateText();
string[] strs = { " ", " " ," };
foreach (var s in strs)
{
sW.WriteLine(s);
}
sW.Close();
총결산
이 C#텍스트파일(.txt) 읽기와 쓰기에 관한 글은 여기까지입니다. C#텍스트파일의 내용을 더 많이 읽으려면 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.