Java学习(九)之输入输出

一、保存数据的两种分类
1.如果只有自己写的程序会用到该数据:序列化;
2.如果数据需要被其他程序引用:非序列化(文本等)。

二、对象序列化:实现 Serializable接口
1.序列化存储文件格式(“Mygame.ser”);
2.步骤,FileOutputStream连接文件,ObjectOutputStream连接对象,写入对象writeObject();
3.如果一个对象被序列化,那么他的所有实例或者引用对象都将被序列化,除非是transient标记变量;
4.readObject()的返回类型是Object,还需要转换;
5.静态变量不会被序列化,因为所有对象都是共享同一份静态变量值;
6.序列化如果修改类,还原可能会有安全类型,可设置一个版本ID;
7.还原序列化的时候父类构造函数不会运行。

三、非序列化
1.有字节流和字符流,字节流用来适用于图像等,字符流用来适用于文本;
2.FileWriter/FileReader是字符流,FileOutputStream/FileInputStream是字节流;
3.分为输入流和输出流,输入流只读不写,输出流只写不读;
4,可适用于缓存区;

四、java.io.File类
该类用File对象代替文件,但是不代替文件的内容,抽象认为代替文件的路径。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值