å°±æ¯æ对象åå
¥æ件ï¼è½è¯»åºæ¥ï¼è¿½å ä¸è¦çï¼è¿æå¾ç¨ä»ä¹é¾è¡¨ï¼è¿½å å
容ï¼æç½å
ææºç åï¼é常æè°¢
è¿æ¯æå¸®ä½ åä¸å§ï¼ä»£ç å¦ä¸ï¼
import java.io.* ;
import java.util.* ;
class Person implements Serializable{
private static final long serialVersionUID = 1L;
private transient String name ;
private int age ;
public Person(){}
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public String toString(){
return "å§åï¼"+name+"ï¼å¹´é¾ï¼"+age ;
}
}
public class BaiDuDemo01 {
public static void main(String[] args) throws Exception{
String path = "d:"+File.separator+"test.txt" ; //æ件çåå¨è·¯å¾
Person p1 = new Person("人å1",23) ;
//1.æ p1åå
¥æ件ï¼ä½ èªå·±å¨dçä¸å建ä¸ä¸ªtestæ件
write(path, p1) ;
//2.æ p1读åºæ¥
Person p = (Person) read(path) ;
System.out.println("读å°ç对象为ï¼" + p) ;
Person p2 = new Person("æµè¯2",33) ;
//3.å°p2追å å°txtä¸
write(path, p2) ;
//4.å°å¯¹è±¡åå
¥listä¸
List list = new ArrayList() ;
list.add(p1) ;
list.add(p2) ;
//5.追å çå
容ååé¢ --->è¿å¥æä¸çè§£ä½ å¥ææ
//å¦æè¿éè¦ç»§ç»å°txtåå
¥å¯¹è±¡ï¼é£ä¹ç»§ç»è°ç¨writeæ¹æ³å°±å¯ä»¥äºã
}
public static void write(String path,Object obj)throws Exception{
File f = new File(path) ;
OutputStream out = new FileOutputStream(f,true) ;
ObjectOutputStream oos = new ObjectOutputStream(out) ;
oos.writeObject(obj) ;
oos.close() ;
System.out.println("-----åå
¥æå....");
}
public static Object read(String path) throws Exception{
File f = new File(path) ;
InputStream in = new FileInputStream(f) ;
ObjectInputStream ois = new ObjectInputStream(in) ;
Object obj = ois.readObject();
ois.close();
return obj ;
}
}