C# 텍스트 파일 읽기(.txt) 방법 인스턴스

4949 단어 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#텍스트파일의 내용을 더 많이 읽으려면 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기