本次的讨论不涉及数据库
用序列化:不需被其它程序引用到的数据(二进制)
用文本文件:数据需要被其它程序引用(逗号或其它形式的数据分隔符)
将序列化对象写入文件:
1、打开文件
FileOutputStream filestream=new FileOutputStream(“mygame.ser”);
//文件不存在会自动创建
2、链接到打开的文件
ObjectOutputStream os=new ObjectOutputStream(filestream);
3、写入对象
os.writeObject(character one);
os.writeObject(character two);
os.writeObject(character there);
4、关闭链接
os.close()
注意点:
序列化程序会将序列化对象版图上的所有的东西都存储下来
序列化意味着全有或全无(若对象中的某引用对象不能序列化,其不能序列化)
类接口Serializable,表示类是可以序列化的,它的子类也是自动地可以序列化
类可以序列化意味着其main()由序列化过程可将类对象序列化
如果存在某些数据只在执行期间求出而不必储存,可使用transient关键字
解序列化:
1、打开文件
FileInputStream filestream=new FileInputStream(“mygame.ser”)
//注意magame.ser不存在会抛出异常
2、链接到文件
ObjectInputStream os&#