package com.bjpowernode.javase.day27.IO; /* 1、序列化版本号有什么缺陷? 这种自动生成的序列化版本号缺点是:一旦代码确定之后,不能进行后续的修改 因为只要修改,必然会重新编译,此时会生成全新的序列化版本号,这个时候java虚拟机 会认为这是一个全新的类 2、java语言中采用什么机制来区分类? 第一:通过类名来进行比对,如果类名不一样,肯定不是同一个类 第二:如果类名一样,再怎么进行类的区别?靠序列化版本号进行区分 结论:凡是一个类实现的Serializable接口,建议给该类提供一个固定不变的序列化版本号 * */ 以上是对序列化版本号的笔记 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Map; import java.util.Properties; /* IO+Properties的联合应用 * * * */ public class IOandProperties { public static void main(String[] args) { //Properties是一个Map集合,Key和Value都是String类型 //想将userinfo文件中的数据加载到Properties对象当中 FileReader reader=null; try { //新建一个输入流对象 reader=new FileReader("D://javaSE//Test//userinfo.properties"); //新建一个map集合 Properties pro=new Properties(); //调用Properties对象的load方法将文件中的数据加载到Map集合中 pro.load(reader); String name=pro.getProperty("name"); String password=pro.getProperty("password"); System.out.println(name+password); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if(reader!=null){ try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } } }