IO3

来源:互联网 发布:淘宝客服在家上班 编辑:程序博客网 时间:2024/06/14 14:10
1:打印流(掌握)
(1)打印流的特点:
A:可以输出任意类型数据
B:如果启用了自动刷新,在调用println方法的时候会自动刷新
C:可以直接操作文件
注意:哪些流对象可以直接操作文件呢?
看构造,如果同时能够接受String类型和File类型的参数,就可以。
(2)打印流的使用:
A:write
B:print
C:println
(3)案例:(掌握)
复制文本文件。


BufferedReader br = new BufferedReader(new FileReader("c:\\a.txt"));
PrintWriter pw = new PrintWriter(new FileWriter("d:\\b.txt"),true);


String line = null;
while((line=br.readLine())!=null)
{
pw.println(line);
}


pw.close();
br.close();


2:Properties(理解)
(1)是唯一一个可以和IO流结合使用的Map集合。
(2)特殊功能:
A:list() 只能使用打印流。把集合中的数据写入到文件中
B:load() 使用任意输出流。把文件中的键值对数据加载到集合中
C:store() 使用任意输出流。把集合中的数据写入到文件中
(3)案例:
查找user.txt中是否有lisi这个键,如果有,则修改其值为50


3:序列化流(理解)
(1)序列化:就是把对象按照流一样的方式写入文件(或者在网络中传输。)
  反序列化:就是把文件中的二进制流数据还原成对象
(2)序列化和反序列化流对象
A:ObjectOutputStream
void writeObject(Object obj)
B:ObjectInputStream
Object readObject()
(3)如果你的对象想被序列化流操作?
A:必须实现序列化接口
B:如果想做简单的改动,不出问题,那么就应该给定序列化id值
 这样还可以解决黄色警告问题


4:字符编码(理解)
(1)编码表:把字符和对应的数值存储到一张表格
(2)常见的编码表:
ASCII
ISO-8859-1
GB2312
GBK
GB18030
BIG5
UTF-8
(3)转换流中的编码问题
字符流 = 字节流 + 编码表
(4)字符串中的编码问题
String -- byte[] 编码
byte[] -- String 解码
原创粉丝点击