废话不说,直接献上代码
方法1:
// 注意添加接口
import java.io.*;
public class Test implements Serializable{
int i;
public static void main(String[] args) {
Test test = new Test();
test.i=100;
File file= new File("E:/text.txt");
ObjectOutputStream oos =null;
try {
oos = new ObjectOutputStream(new FileOutputStream(file));
//把对象放入文件
oos.writeObject(test);
oos.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Test test1=null;
ObjectInputStream ois =null;
try {
ois=new ObjectInputStream(new FileInputStream(file));
//把对象拿出文件
test1 = (Test) ois.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//不修改变量
System.out.println(test.i);
System.out.println(test1.i);
System.out.println("------------");
//修改变量
test1.i=1000;
System.out.println(test.i);
System.out.println(test1.i);
}
}
方法2
// 注意添加接口
public class Test implements Cloneable{
int i;
public static void main(String[] args) {
Test test = new Test();
test.i=10;
Test test1=null;
try {
test1 = (Test) test.copy();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
System.out.println(test.i);
System.out.println(test1.i);
System.out.println("------");
test1.i=10000;
System.out.println(test.i);
System.out.println(test1.i);
}
public Object copy() throws CloneNotSupportedException {
return clone();
}
}