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










3 데이터 읽기(readData( )): 파일 스트림 객체를 이용하여 파일을 줄 단위로 가져
Split( ) 함수 와서 readString에 대입한다. Split(',')함수는 readString 변수 속에 포함된 콤
문자열을 구분 문자에 따라 분리한
후 각각을 배열에 저장해 주는 함수 마(,)를 찾아서 이를 기준으로 분리한 후 분리된 부분 문자열은 배열 split에 보
이다.
관한다.
프로그램
01 string s = "A,B,1,2,3"; 58 string readString = null;
02 string[ ] sp = null; 59 string[ ] split = null;
03 sp = s.Split(',');
60 int numChk = 0;
04 for (int i=0; i<5; i++)
05 Console.WriteLine(sp[i]); 61 bool isNum;
62 StreamReader inStream = new StreamReader
실행 결과
63 (new FileStream(fileName, FileMode.Open));
A 64 try { 스트림의 마지막인지 체크
B
65 while (inStream.EndOfStream == false) {
1
2 66 readString = inStream.ReadLine( ); 콤마를 기준으로 문자열을
3 분리한 후 split에 보관
67 split = readString.Split(',');
68 isNum = int.TryParse(split[0], out numChk);
69 if (isNum) {
int.TryParse("문자열", out result)
70 hak = byte.Parse(split[0]);
"문자열"을 int형으로 변환한 값을
result에 넣는다. 변환할 수 없는 경 71 ban = byte.Parse(split[1]);
우 result에는 0이 대입되고, 함수는 72 bunho = byte.Parse(split[2]);
마지막에 false를 리턴한다.
73 stuName[ban, bunho] = split[3];
74 for (int j = 0; j < 10; j++) {
byte.Parse( ) 함수
75 score[ban, bunho, j] = byte.Parse(split[j + 4]);
문자열을 바이트형의 수치형 자료
로 변환해 준다. 예를 들어, byte. 76 }
Parse("95")는 문자열 "95"를 숫자 77 }
95로 변환해 준다.
78 }
79 inStream.Close( );
80 } catch { 파일을 가져오는 중에 예외(오류)가 발생하면 안내 메시지를 출력
81 MessageBox.Show("성적 파일 형식이 맞는지 확인하십시오.)");
82 }


4 파일 오픈 대화 상자(ShowOpenDialog( )): 파일 오픈 대화 상자(OpenFileDialog)

객체를 사용하여 파일을 선택하고 선택한 파일명을 반환해 준다.

86 OpenFileDialog ofd = new OpenFileDialog( );
87 ofd.Title = "원시 성적 파일 선택";
88 ofd.FileName = @"c:\Data\"; @를 생략하면 역 슬래시를 2번(‘\\’) 입력해야 됨.
89 ofd.Filter = "텍스트 파일(.txt) | *.txt; | 모든 파일 (*.*) | *.*";
90 DialogResult result = ofd.ShowDialog( ); 파일 오픈 대화 상자를 염.
91 if (result == DialogResult.OK) {
92 return ofd.FileName; 열기를 취소하거나 파일명이 존재하는지 체크
93 }
94 return "";



250 Ⅲ. 프로그래밍 설계와 구현





(책)2015프로그래밍-교과서3차심의본 본문.indb 250 2017-09-05 오후 4:17:07
   247   248   249   250   251   252   253   254   255   256   257