파일 처리 (File Handling)
C# 2007. 10. 19. 15:42 |C# 에서 파일을 처리하는 객체는 파일을 유연하게 사용하는 방법을 제공한다.
File 객체
File 객체는 파일을 나타내며, 파일의 존재를 검사하고, 이름을 바꾸고, 지우는 등의 기능을 하는 유용한 메서드 들을 제공한다. 모든 메서드는 static이므로 이들 메서드를 사용하기 위해 File 클래스의 인스턴스를 생성할 필요는 없다. 그 대신, 메서드를 직접 사용하면 된다.
fi(File.Exists("Foo.txt"))
File.Delete("Foo.txt");
File.Delete("Foo.txt");
File을 사용하여 파일을 읽고 쓰는데 필요한 FileStream을 구할 수도 있다.
//텍스트 파일을 읽기 위해 파일을 연다.
StreamReader ts = File.OpenText("fool.txt");
//임의의 타입의 파일을 읽기 위해 파일을 연다.
FileStream fs = File.OpenRead("foo2.any");
StreamReader ts = File.OpenText("fool.txt");
//임의의 타입의 파일을 읽기 위해 파일을 연다.
FileStream fs = File.OpenRead("foo2.any");
File 클래스의 메서드들...
- File.FileExists(filename) : 파일이 존재한다면 true를 반환함
- File.Delete(filename) : 파일 삭제
- File.AppendText(fliename) : 텍스트를 덧붙임
- File.Copy(filename) : 파일 복사
- File.Move(filename) : 파일 이동 후 이전 파일은 삭제
- File.GetExtension(filename) : 파일 확장자를 반환함
- File.HasExtension(filename) : 파일이 확장자를 갖고 있다면 true를 반환함
텍스트 파일 읽기
텍스트 파일 읽기 위해서는, File 객체를 이용하여 StreamReader 객체를 얻어내야 한다. 그 다음에는 텍스트 스트림을 읽는 메서드를 사용하면 된다.
StreamReader ts = File.OpenText("fool.txt");
String s = ts.ReadLine();
String s = ts.ReadLine();
텍스트 파일 쓰기
텍스트 파일을 만들고 쓰기 위해서는, CreateText 메서드를 사용하여 StreamWriter를 얻어낸다.
//쓰기 위해 열기
StreamWriter sw = File.CreateText("Foo3.txt");
sw.WriteLine("Hello file");
StreamWriter sw = File.CreateText("Foo3.txt");
sw.WriteLine("Hello file");
만약 이미 존재하는 파일에 덧붙이기를 원한다면, 파일 이름 다음에 오는 Boolean 인수를 true로 지정하여 직접 StreamWriter 객체를 생성할 수도 있다.
//텍스프 파일에 덧붙이기
StreamWriter asw = new StreamSwiter("fool.txt", true);
StreamWriter asw = new StreamSwiter("fool.txt", true);