Page 241 고등학교 프로그래밍 교과서
P. 241










4 파일을 사용하여 데이터를 입출력 해보자
C#에서는 파일 입출력에 필요한 몇 가지 스트림 객체를 제공해 준다. 여기서는 스트림 객체
스트림은 디스크 파일과 메모리 사
BinaryReader 객체와 BinaryWriter 객체를 사용하여 파일의 데이터를 입출력하는 이에 흐르는 데이터 통로를 의미
한다. C#에서는 BinaryReader,
방법에 대하여 알아보기로 한다. 파일을 접근하려면 먼저 ‘파일 모드’를 지정해 주어
BinaryWriter와 같이 파일 입출력에
야 하며 다음과 같은 종류가 있다. 필요한 몇 가지 스트림 객체를 제공
해 준다.
파일 모드 설명
Open 파일을 읽기 모드로 오픈하며, 파일이 존재하지 않으면 오류가 발생한다.
Create 파일을 쓰기 모드로 오픈하며, 파일이 존재하면 덮어쓴다.
OpenOrCreate 파일을 읽기, 쓰기 모드로 오픈하며, 파일이 존재하면 덮어쓴다.
Append 내용을 추가할 수 있도록 오픈하며 포인터가 파일의 끝으로 이동한다.



(1) 파일 쓰기

다음은 ‘Data.txt’ 파일을 쓰기 모드로 열어서 문자열, 바이트형, 정수형 데이터를
한 개씩 차례로 저장하는 프로그램이다. 지정한 파일이 이미 존재하면 덮어쓰기를

하며 파일이 없으면 새로 생성한다.


BinaryWriter bw = new BinaryWriter
(new FileStream("Data.txt", FileMode.Create)); 쓰기 모드
bw.Write("Good morning"); 파일 스트림에 문자열 쓰기
byte b=250; bw.Write(b); 바이트형 값 쓰기
int x=30000; bw.Write(x); 정수형 값 쓰기
bw.Close( ); 파일 닫기



(2) 파일 읽기
읽기 모드에서는 파일에 저장된 데이터 형(type)과 Read 명령의 형식이 서로 일치 파일 포인터
데이터를 쓰거나 읽을 때에는 현재
해야 한다. 예를 들어, 현재 읽을 위치에 문자열이 저장되어 있다면 ReadString( ) 명 위치에 대한 정보가 필요하며 이를
령을 사용하고, 정수형 데이터가 저장되어 있으면 ReadInt16( ) 명령을 사용해야 한 파일 포인터라고 한다.
다. 다음은 ‘Data.txt’ 파일을 읽기 모드로 선언한 후 데이터를 하나씩 읽어서 변수에

할당하는 프로그램이다. 하나의 데이터를 읽은 후에는 포인터가 다음 자료 위치에
자동으로 이동한다.


BinaryReader br = new BinaryReader
(new FileStream("Data.txt", FileMode.Open)); 읽기 모드
string a = br.ReadString( ); 문자열을 읽어 변수 a에 대입
바이트 데이터를
byte b = br.ReadByte( );
읽어 변수 b에 대입
int c = br.ReadInt16( ); 정수형 데이터를 읽어 변수 c에 대입
br.Close( );


3. 프로그래밍의 실제 II 239






(책)2015프로그래밍-교과서3차심의본 본문.indb 239 2017-09-05 오후 4:17:04
   236   237   238   239   240   241   242   243   244   245   246