transient

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

 

posted @ 2018-01-26 16:36  aLa神灯  阅读(146)  评论(0编辑  收藏  举报