博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
map持久化类 Properties;对象序列化 ObjectOutputStream
阅读量:6283 次
发布时间:2019-06-22

本文共 2220 字,大约阅读时间需要 7 分钟。

Properties是HashTable的子类,可以用map的方法,没有泛型,键值对是字符串

无参构造   Properties()

成员方法

存入    setProperty(String key, String value)  // 不用put

取值   getProperty(String key) 

写入文件       store(OutputStream out,String comments) // 将集合中的元素储存到文件中

      store(Writer w, String comments)

从文件中读取   load(InputStream inStream)

       load(Reader reader)

文件中存储 key=value 中间不能有空格,不要多加任何东西 文件后缀 .properties

# 为注释

Properties p = new Properties();        p.setProperty("name", "zhang3");   // put into map        p.setProperty("number", "15700");        p.setProperty("age", "23");                        // 1 store(OutputStream out, String comments)         OutputStream out = new FileOutputStream("E:/test.properties");        p.store(out, "#");                // 2 store(Writer w, String comments)        Writer w = new FileWriter("E:/w.properties");        p.store(w,"#");                // 1 load(InputStream inStream)        InputStream inStream = new FileInputStream("E:/test.properties");        p.load(inStream);                // 2 load(Reader r)        Reader r = new FileReader("E:/w.properties");        p.load(r);        String age = p.getProperty("age");   //   23
View Code

 

对象序列化与反序列化

注意 1 静态成员变量不能序列化  

2 transient  声明的成员变量不能序列化   public transient int age;

3 对象要实现Serializable接口  (标记接口)

4  InvalidClassException 修改源码后没有重新写对象,导致序列号不同,序列号冲突问题

做一个不变的序列号 static final long serialVersioUID = 12154633489663L ,告诉编译器自己有序列号,编译器就不会生成

public static void main(String[] args)  throws IOException, ClassNotFoundException{        //        People p = new People();        //writeObj(p);        People p = (People) readObj("E:/obj.txt");        System.out.println(p.age);    }        public static void writeObj(Object obj) throws IOException{                OutputStream out = new FileOutputStream("E:/obj.txt");        ObjectOutputStream oos = new ObjectOutputStream(out);                oos.writeObject(obj);        oos.close();            }        public static Object readObj(String name) throws IOException, ClassNotFoundException{                InputStream in = new FileInputStream(name);        ObjectInputStream ois = new ObjectInputStream(in);        Object obj = ois.readObject();        return obj;     }
View Cod

转载于:https://www.cnblogs.com/YKang/p/7291189.html

你可能感兴趣的文章
dsh 批量管理服务器
查看>>
centos7.3二进制安装mariadb
查看>>
吉林出差所见、所闻、所感
查看>>
RHEL7修改root用户密码
查看>>
mysqldump导出 timestamp类型数据 时区偏差8小时
查看>>
我的友情链接
查看>>
中小型企业如ERP选型四大标准
查看>>
笔记——quota磁盘配额
查看>>
索引表批量数据装载
查看>>
@Value("#{}")与@Value("${}")的区别
查看>>
Zabbix邮件报警设置方法
查看>>
20145328 《信息安全系统设计基础》第6周学习总结
查看>>
C语言随笔_类型声明
查看>>
AIX或LINUX,通过华为存储V3上添加对应LUN组,分配存储资源
查看>>
监控mysql主从的脚本
查看>>
用phpmyadimn来连接管理多个数据库
查看>>
解决RedHat 5 yum安装错误
查看>>
【jc2-1】 网络层IP编址
查看>>
诺基亚Lumia 800生产背后的故事——萨罗工厂[多图]
查看>>
AndroidUI优化工具——HierarchyViewer
查看>>