day22:
IO流整体:
标准输入输出流
转换流
InputStreamReader:字节流转字符流【数据走向】
OutputStreamWriter:字符流转字节流
打印流:
PrintStream
PrintWriter
可以直接对文件进行操作:
构造方法,是否同时接受File和String类型参数
FileReader FileWriter FileInputStream FileOutoutStream PrintStream
PrintWriter:
构造方法
读取文件夹可能出现【拒绝访问】的异常
print()方法~
序列化:将对象像流一样的方式输入输出
ObjectInputStream -- Object readObject()
反序列化:将流对象还原成对象
ObjectOutputStream -- void writeObject(Object obj)
序列化ID值固定
A:类的对象想被序列化流操作,请序列化接口;
B:类实现了Serializable接口,解决黄线警告,固定化ID值。
编码问题:
编码表:字符及其对应的数值保存到一张表中
Properties:
表示属性的集合,可以从流中加载数据或把数据保存到流中,键值都是String
没有泛型,唯一一个可以和IO流结合使用的集合
String getProperties(String key):
String getProperties(String key,String defaultValue):
Object setProperties(String key,String value):
Set<String> stringPropertieyName():
系统属性
public static Properties getProperties():系统属性集
集合和IO流的结合:
list()方法:把集合中的数据按键值对的方式存储到文件中
load()方法: 把文件中的数据读取到集合中去【数据是键值对的模式--分隔符】
store()方法