问题描述
我是Java初学者,请问是否可以将vector的对象直接保存到文件中和从文件中读取呢?写的是一个电话本程序,conects是一个vector对象。下面是代码的一部分,是我照着书上自己乱写的,一保存就会报异常。求大神指导。publicvoidSave(Filefile){//保存方法try{FileOutputStreamtext=newFileOutputStream(file);ObjectOutputStreamfw=newObjectOutputStream(text);fw.writeObject(conects);fw.close();}catch(Exceptionee){ee.printStackTrace();}}publicvoidOpen(Filefile){//打开方法conects.clear();try{FileInputStreamtext=newFileInputStream(file);ObjectInputStreamfw=newObjectInputStream(text);conects=(Vector)fw.readObject();fw.close();}catch(Exceptionee){ee.printStackTrace();}}
解决方案
解决方案二:
有没有人帮忙啊求助啊在线等~
解决方案三:
奇怪,怎么需要这个的人好多importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.ObjectInputStream;importjava.io.ObjectOutputStream;importjava.util.Scanner;importjava.util.Vector;publicclassTest{publicstaticvoidmain(String[]args){Vector<String>vec=null;StringfileName="vec.dat";System.out.print("输入1保存vector,输入2或者其他则读取vector:");Scannerscanner=newScanner(System.in);if(scanner.nextInt()==1){vec=newVector<String>();vec.add("Hello");vec.add("Go");vec.add("Hey");vec.add("Gui");System.out.println("开始保存vector...");save(vec,fileName);System.out.println("Vector保存完成.");}else{System.out.println("开始读取vector...");vec=read(fileName);System.out.println("Vector读取完成.");System.out.println("得到的vector:"+vec);}}publicstaticvoidsave(Vector<String>vec,StringfileName){try{FileOutputStreamfos=newFileOutputStream(fileName);ObjectOutputStreamoos=newObjectOutputStream(fos);oos.writeObject(vec);oos.flush();oos.close();}catch(Exceptione){e.printStackTrace();}}publicstaticVector<String>read(StringfileName){try{FileInputStreamfis=newFileInputStream(fileName);ObjectInputStreamois=newObjectInputStream(fis);Vector<String>vec=(Vector<String>)ois.readObject();ois.close();returnvec;}catch(Exceptione){e.printStackTrace();}returnnull;}}