那是遵循一定格式存放的,你要读也要遵循一定格式
比如你可以把一个对象写入到文件中去,这个时候,你用文本打开这个文件,看到的是乱码
但是你用对象流来读它的时候,却可以还原成一个对象,这个对象的所有数据状态皆被还原
就是这个道理
比如你可以把一个对象写入到文件中去,这个时候,你用文本打开这个文件,看到的是乱码
但是你用对象流来读它的时候,却可以还原成一个对象,这个对象的所有数据状态皆被还原
就是这个道理
很简单的,你自己定义一个对象,这个对象要声明实现java.io.Serializable接口,这是一个空接口,你只要声明就可以了,这个接口内没有任何方法
然后你就可以用对象流套接上文件流,把这个对象写入到一个文件中去
你要读的时候,同样用对象流接上文件流,再把这个对象读出来
这样就实现了信息的隐藏,一般人直接用文本打开那个文件是不看不懂里面的内容的,因为全是乱码
Example:
Person p//你自己定义了一个代表人的类,它有姓名,性别,年龄等等属性
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("person.dat"));
oos.writeObject(p);
oos.close();
然后你就可以看到生成了一个person.dat文件,后缀名你可以随便改,你也可以在写出的时候把person.dat改成person.txt.都无所谓的.里面的数据不会因为你改了后缀名而更改
读进来也是一样
ObjectInputStream ois=new ObjectInputStream(new FileInputStream("person.dat"));
Person p=(Person)ois.readObject();
这个里面的属性值和你写入的一样
使用对象串行化技术可以使你的数据实现一定的隐藏