import java.io. *;
import java.util. *;
public class Meibo {
public static Vector<MeiboList> vector = new Vector<MeiboList>();//수정
//public BufferedInputStream buf;
public Meibo(){
// buf = new BufferedInputStream(System.in);
}
public static void main(String args[]) throws IOException{
//ArrayList list=new ArrayList();
String fileName="c:/fileName.dat"; //수정
String select;
if(args.length!=0)
{
fileName.valueOf(args);
}
while(true){
do{
select=printMenu(); //수정
if(select.equals("1")) {
inputList();
}else if(select.equals("2")) {
Show();
FileOutput(fileName);
System.out.println(" 종료합니다");
System.exit(0);
}else{
System.out.println(" 잘못선택하였습니다. ");
}
}while(! select.equals("1") && ! select.equals("2"));
}
}
//메뉴 선택 0
private static String printMenu() throws IOException {
BufferedReader br=null;
System.out.println("\n************* MEIBO Menu *******************");
System.out.println("1) 리스트 입력 2) Exit");
System.out.print("메뉴를 선택해 주세요: ");
br=new BufferedReader(new InputStreamReader(System.in)); //BufferedReader 사용법??
String select=br.readLine();
return select;
}
//data 입력받기
public static void inputList() throws IOException
{
MeiboList meibolist = new MeiboList();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.println("####명부 추가####"); //출력형식 수정
System.out.print("#명부 :\t");
meibolist.setName(br.readLine());
System.out.print("#연령 :\t");
meibolist.setAge(Integer.parseInt(br.readLine()));
System.out.print("name : "+meibolist.getName()+" age : "+meibolist.getAge());
vector.add(meibolist);
}catch(Exception e){
}
}
// 리스트 출력
private static void Show(){
int i=0;
MeiboList list=new MeiboList();
for(i=0; i < vector.size(); i++){
list=(MeiboList) vector.elementAt(i);
System.out.println("이름: " +list.getName()+"\n연령: "+list.getAge());
}
System.out.println("#리스트 출력 완료했습니다. ");
}
// 파일 유무 확인&
private static List getList(String fileName) {
BufferedReader br=null;
try {
br=new BufferedReader(new FileReader(fileName));
} catch(FileNotFoundException e) {
e.printStackTrace();
System.out.println("파일 존재하지 않습니다. ");
System.exit(1);
}
int cnt=0;
String msg=null;
try {
msg = br.readLine();
} catch(IOException e) {
e.printStackTrace();
System.out.println("파일 존재하지 않습니다. ");
System.exit(1);
}
List list=new ArrayList();
while(msg!=null&&cnt<100){
StringTokenizer st=new StringTokenizer(msg,"/w");
MeiboList meibolist=new MeiboList();
meibolist.setName(st.nextToken());
meibolist.setAge(Integer.parseInt(st.nextToken()));
list.add(meibolist);
cnt++;
try {
msg=br.readLine();
} catch(IOException e) {
e.printStackTrace();
System.out.println("파일 존재하지 않습니다. ");
}
}
return list;
}
// 파일 저장
private static void FileOutput(String fileName)
{
try{
FileOutputStream fs = new FileOutputStream(fileName);
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(vector);
os.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
MeiboList.java
import java.io.Serializable;
public class MeiboList implements Serializable{
private String name;
private int age;
public MeiboList(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
문]
자바 간단한 파일입출력 할려고 하는데요 잘못된부분 봐주세요
벡터 사용이 잘못된거같은데--; 잘 모르겠네요..
백터 선언부 잘못된건가요?
설명 필요하시면 쪽지 주세요.
댓글 없음:
댓글 쓰기