2008년 7월 15일 화요일

java Vector & FileOutputStream Example

Vector 파일입출력


Meibo.java

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;
}
}

문]

자바 간단한 파일입출력 할려고 하는데요 잘못된부분 봐주세요
벡터 사용이 잘못된거같은데--; 잘 모르겠네요..
백터 선언부 잘못된건가요?

설명 필요하시면 쪽지 주세요.

댓글 없음:

댓글 쓰기

-


Sidewinder


World


FishMusic


LaughingBaby