package other;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class TestSix<E> {
public static void main(String[] args) {
/**
*http://www.importnew.com/21517.html
* 被 transient修饰域不能序列化
*
*/
try {
User user = new User();
user.setName("Ziv");
user.setPassword("111");
String path="D:/test/test.txt";
create(path);
ObjectOutputStream ob = new ObjectOutputStream(new FileOutputStream(path));
ob.writeObject(user);
ob.flush();
ob.close();
ObjectInputStream in = new ObjectInputStream(new FileInputStream(path));
Object object = in.readObject();
in.close();
System.out.println(object);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void create(String path){
try {
String fileContent = path.substring(0, path.lastIndexOf("/"));
File content =new File(fileContent);
//创建目录
if (!content.exists()) {
content.mkdirs();
}
//创建文件
File file =new File(path);
if (!file.exists()) {
file.createNewFile();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
class User implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String name;
private transient String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
/*@Override
public String toString() {
return "name:"+ this.name+"password:"+this.password;
}*/
}