csFile 클래스 래퍼 클래스
C# 2007. 10. 19. 15:45 |csFile 클래스
때로는 사용하기 쉬운 메서드를 제공하는 간단한 클래스를 만들고, 그 안에서 이들 파일과 관련된 메서드들을 감싸두면( Wrap ) 편리하다. 그러므로 여기서는 그러한 csFile 클래스를 작성하고, 나머지 장들의 예제에서 이 클래스를 사용해 볼 것이다.
때로는 사용하기 쉬운 메서드를 제공하는 간단한 클래스를 만들고, 그 안에서 이들 파일과 관련된 메서드들을 감싸두면( Wrap ) 편리하다. 그러므로 여기서는 그러한 csFile 클래스를 작성하고, 나머지 장들의 예제에서 이 클래스를 사용해 볼 것이다.
public class csFile {
private string fileName;
StreamReader ts;
StreamWrite ws;
private bool opened, writeOpened;
//--------------
public csFile() { Init(); }
//--------------
private void Init() {
opened = false;
writeOpened = false;
}
//---------------
public csFile(string file_name) {
fileName = file_name;
Init();
}
}
private string fileName;
StreamReader ts;
StreamWrite ws;
private bool opened, writeOpened;
//--------------
public csFile() { Init(); }
//--------------
private void Init() {
opened = false;
writeOpened = false;
}
//---------------
public csFile(string file_name) {
fileName = file_name;
Init();
}
}
우리는 두 가지 방법으로 파일을 읽기 위해 열 수 있다. 하나는 파일 이름을 포함하는 것이고, 다른 하나는 파일 이름을 인수로 받는 것이다.
그리고 readLine 메서드를 이용하여 텍스트 파일로 부터 데이터를 읽어 올 수 있다.
public bool OpenForRead(string file_name)
{
fileName = file_name;
try {
ts = new StreamReader(fileName);
opened = true;
}
catch(FileNotFoundException e) {
return false;
}
return true;
}
//-----------------
public bool OpenForRead() {
return OpenForRead(fileName);
}
public string readLine() {
return ts.ReadLine();
}
{
fileName = file_name;
try {
ts = new StreamReader(fileName);
opened = true;
}
catch(FileNotFoundException e) {
return false;
}
return true;
}
//-----------------
public bool OpenForRead() {
return OpenForRead(fileName);
}
public string readLine() {
return ts.ReadLine();
}
마찬가지로, 다음 메서드는 파일에 쓸 수 있게 해준다.
public void writeLine(string s) {
ws.WriteLine(s);
}
//------------
public bool OpenForWrite() {
return OpenForWrite(fileName);
}
//------------
public bool OpenForWrite(string file_name) {
trye {
ws = new StreamWriter(file_name);
fileName = file_name;
writeOpended - true;
return true;
}
catch(FileNotFoundException e) {
return false;
}
}
ws.WriteLine(s);
}
//------------
public bool OpenForWrite() {
return OpenForWrite(fileName);
}
//------------
public bool OpenForWrite(string file_name) {
trye {
ws = new StreamWriter(file_name);
fileName = file_name;
writeOpended - true;
return true;
}
catch(FileNotFoundException e) {
return false;
}
}
앞으로 파일 읽어야 할 때 이렇게 단순화된 파일 메서드 래퍼 클래스를 사용하면 좋다.