목차
1. 문제정의 및 분석
2. 소스코드 및 설명
3. 실행결과 및 설명
4. 결론
2. 소스코드 및 설명
3. 실행결과 및 설명
4. 결론
본문내용
w InputStreamReader(System.in));
AddressBook ab = null;
int iMenu = 0;
try{
System.out.println("주소록을 초기화 합니다.");
ab = new AddressBookImpl01();
System.out.print("주소록 파일 이름을 입력하세요... ");
ab.init(new String(dis.readLine()));
while(iMenu != 6){
System.out.println("================================");
System.out.println(" 0. 주소록 파일 불러오기 ");
System.out.println(" 1. 주소 추가하기");
System.out.println(" 2. 주소 삭제하기");
System.out.println(" 3. 주소 변경하기");
System.out.println(" 4. 주소록 파일 저장하기");
System.out.println(" 5. 주소록 다른 파일에 저장하기");
System.out.println(" 6. 종료하기");
System.out.println("================================");
System.out.print("메뉴의 번호를 입력하세요 : ");
iMenu = Integer.parseInt(dis.readLine());
switch(iMenu) {
case 0: //주소록 파일 불러오기
System.out.print("주소록 파일 이름을 입력하세요...");
ab.init(new String(dis.readLine()));
break;
case 1: //주소 추가하기
String strName;
String strAddress;
String strPhone;
System.out.print("이 름 : ");
strName = new String(dis.readLine());
System.out.print("주 소 : ");
strAddress = new String(dis.readLine());
System.out.print("전화번호 : ");
strPhone = new String(dis.readLine());
ab.add(strName, strAddress, strPhone);
break;
case 2: //주소 삭제하기
String deleteFile;
System.out.print("삭제할 이름을 입력하세요 : ");
deleteFile = new String(dis.readLine());
ab.delete(deleteFile);
break;
case 3: //주소 변경하기
String searchFile;
String modifyFile;
System.out.print("검색할 이름을 입력하세요 : ");
searchFile = new String(dis.readLine());
System.out.print("수정할 이름을 입력하세요 : ");
modifyFile = new String(dis.readLine());
ab.modify(searchFile, modifyFile);
break;
case 4: //주소록 파일 저장하기
ab.save();
break;
case 5: //주소록 다른 파일에 저장하기
System.out.print("저장할 파일의 이름을 입력하세요...");
ab.save(new String(dis.readLine()));
break;
case 6: //종료하기
iMenu = 6;
break;
default: //잘못된 메뉴가 선택되었을 때
break;
}
}
}catch(IOException ioe){
ioe.printStackTrace();
}
}
}
3. 실행결과 및 설명
address01.txt파일에 2개의 주소 추가 하고, 저장
1개 삭제, 1개 수정 한뒤 address02.txt에 저장,
"\n" 인식이 안되고, 상형문자가 나타나는데 이것은 넷빈즈의 문제 인 것 같습니다.
4. 결론
파일을 다루는 것이 어렵다고 들어왔는데, 교수님의 설명을 듣고, 책을 찬찬히 들여다보니 이해가 되었고, 생각보다 그렇게 어렵다는 생각이 안 들었습니다. 이제 전반적으로 이해가 되었기 때문에 파일관련 프로그램을 만드는 것에 대한 두려움이 사라졌습니다.
파일을 삭제 혹은 수정 할때마다 save()메소드가 실행되어 실시간으로 파일처리가 되는 프로그램이 보통 쓰일 것 같다는 생각을 하였습니다. 어서 데이터베이스를 다루는 부분을 배워보고 싶습니다.
AddressBook ab = null;
int iMenu = 0;
try{
System.out.println("주소록을 초기화 합니다.");
ab = new AddressBookImpl01();
System.out.print("주소록 파일 이름을 입력하세요... ");
ab.init(new String(dis.readLine()));
while(iMenu != 6){
System.out.println("================================");
System.out.println(" 0. 주소록 파일 불러오기 ");
System.out.println(" 1. 주소 추가하기");
System.out.println(" 2. 주소 삭제하기");
System.out.println(" 3. 주소 변경하기");
System.out.println(" 4. 주소록 파일 저장하기");
System.out.println(" 5. 주소록 다른 파일에 저장하기");
System.out.println(" 6. 종료하기");
System.out.println("================================");
System.out.print("메뉴의 번호를 입력하세요 : ");
iMenu = Integer.parseInt(dis.readLine());
switch(iMenu) {
case 0: //주소록 파일 불러오기
System.out.print("주소록 파일 이름을 입력하세요...");
ab.init(new String(dis.readLine()));
break;
case 1: //주소 추가하기
String strName;
String strAddress;
String strPhone;
System.out.print("이 름 : ");
strName = new String(dis.readLine());
System.out.print("주 소 : ");
strAddress = new String(dis.readLine());
System.out.print("전화번호 : ");
strPhone = new String(dis.readLine());
ab.add(strName, strAddress, strPhone);
break;
case 2: //주소 삭제하기
String deleteFile;
System.out.print("삭제할 이름을 입력하세요 : ");
deleteFile = new String(dis.readLine());
ab.delete(deleteFile);
break;
case 3: //주소 변경하기
String searchFile;
String modifyFile;
System.out.print("검색할 이름을 입력하세요 : ");
searchFile = new String(dis.readLine());
System.out.print("수정할 이름을 입력하세요 : ");
modifyFile = new String(dis.readLine());
ab.modify(searchFile, modifyFile);
break;
case 4: //주소록 파일 저장하기
ab.save();
break;
case 5: //주소록 다른 파일에 저장하기
System.out.print("저장할 파일의 이름을 입력하세요...");
ab.save(new String(dis.readLine()));
break;
case 6: //종료하기
iMenu = 6;
break;
default: //잘못된 메뉴가 선택되었을 때
break;
}
}
}catch(IOException ioe){
ioe.printStackTrace();
}
}
}
3. 실행결과 및 설명
address01.txt파일에 2개의 주소 추가 하고, 저장
1개 삭제, 1개 수정 한뒤 address02.txt에 저장,
"\n" 인식이 안되고, 상형문자가 나타나는데 이것은 넷빈즈의 문제 인 것 같습니다.
4. 결론
파일을 다루는 것이 어렵다고 들어왔는데, 교수님의 설명을 듣고, 책을 찬찬히 들여다보니 이해가 되었고, 생각보다 그렇게 어렵다는 생각이 안 들었습니다. 이제 전반적으로 이해가 되었기 때문에 파일관련 프로그램을 만드는 것에 대한 두려움이 사라졌습니다.
파일을 삭제 혹은 수정 할때마다 save()메소드가 실행되어 실시간으로 파일처리가 되는 프로그램이 보통 쓰일 것 같다는 생각을 하였습니다. 어서 데이터베이스를 다루는 부분을 배워보고 싶습니다.