GSI

csFile 클래스 래퍼 클래스

C# 2007. 10. 19. 15:45 |

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();
   }
}

우리는 두 가지 방법으로 파일을 읽기 위해 열 수 있다. 하나는 파일 이름을 포함하는 것이고, 다른 하나는 파일 이름을 인수로 받는 것이다.

그리고 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();
}

마찬가지로, 다음 메서드는 파일에 쓸 수 있게 해준다.

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;
   }
}

앞으로 파일 읽어야 할 때 이렇게 단순화된 파일 메서드 래퍼 클래스를 사용하면 좋다.

Posted by gsi
: