본문 바로가기

코딩 공부/Unity C#

텍스트 파일, 작성 및 읽기 (StreamWriter, StreamReader)

C#에서 텍스트를 쓰기 위한 클래스인 StreamWriter와 TextWriter의 차이점

Using 지시문 없이 StreamWriter을 써도 오류가 발생하지 않는 이유

비주얼 스튜디오 설절

- Visual Studio가 자체적으로 지시문을 추가해뒀기에 오류가 발생하지 않는다.

맨 위의 체크박스를 해제하면 오류가 발생한다.


텍스트 파일 작성하는 법

- StreamWriter 객체를 null로 초기화한다

- 예외를 발생시킬 수 있는 코드를 try문 안에 작성한다

(운영체제에서 만들 수 없는 경로에서 파일을 생성하려고 하면 예외 발생 가능성이 있다)

- OneStepCloser.txt 라는 이름의 파일을 생성한다

- 파일의 텍스트를 작성한다

- catch 블록에서 모든 예외를 처리한다

- finally는 무조건 마무리 블록으로 들어가 있어야 한다. 항상 출력 파일은 닫아야 한다

- null인 상태( 파일이 없는 상태)에서 close를 하면 예외가 발생하므로 if문으로 걸러준다

 

-해당 파일을 실행하면 아무것도 출력되지 않는다

하지만 파일 경로를 찾아서 파일을 열면 파일에 입력한 텍스트가 있다

 

텍스트 파일 읽는 방법

- 파일을 읽는 기능인 StreamReader의 객체를 생성한다

- 예외 발생 가능성이 있으므로 try문 안에 코드를 작성한다(열려는 파일이 존재하지 않으면 예외 발생)

- ReadLine으로 읽은 텍스트는 string 타입으로 line에 저장

- 한 줄도 읽을 수 없다면 null을 반환한다
- while문을 통해 여러 줄을 안전하게 읽는다
- 마지막으로 null이 반환되면(다음 문장이 없다면) 파일 읽기를 종료한다
- 최소한 파일을 열 수 있었다면 파일을 닫아야 한다


- 해당 코드를 실행하면 읽은 텍스트를 실행창에 출력한다