字符流:
Writer:抽象类
|--FileWriter:自带一个小缓冲区,1024个字符,2KB
Reader:抽象类
|--FileReader:没有缓冲区.
1.读写纯文本文件:
1.每次只读写一个字符. int ch = read()
2.使用小数组读写,注意,定义的小数组必须是char类型的.
2.什么时候使用字符流:
1.如果在读写一个纯文本文件时,仅做拷贝操作,这个时候用字节流
2.如果需要知道文本文件中的字符内容,这个时候用字符流.
3.如果需要多次写出字符串内容,这个时候用字符流.
3.纯文本文件:就是可以通过记事本打开并且没有出现乱码的文件,就是纯文本文件.否则就是非纯文本文件.
4.带缓冲区的字符流:
BufferedReader:
readLine():可以一次读入一行,注意:读入的内容不包含换行符.
BufferedWriter
newLine(): 可以写出一个换行符,而且是根据不同的系统写出不同的换行符.
5.装饰设计模式:
1.有一个已存在的类(需要被装饰的类)
2.新定义一个类,在这个类的成员位置,定义一个引用(需要被装饰的类的引用)
3.让这个装饰类实现跟被装饰类相同的接口,重写该方法
4.定义有参构造,传入一个被装饰的类的对象,赋值给成员位置的引用
5.在重写的方法中,调用被装饰的类中的同样的方法,并对该方法进行功能上增强.
装饰设计模式的好处: 耦合性不强.
6.转换流:
InputStreamReader: 字节流到字符流的桥梁
OutputStreamWriter: 字符流到字节流的桥梁.
7.递归: 方法自己调用自己
好处:不用知道循环次数
弊端:容易栈内存溢出
递归的方法中一定要判断什么时候结束.
|
|