字符流(character stream)
1、字符流的输入和输出的基础是抽象类Reader和Writer,字符流的输入和输出的操作由这两个类的子类 实现。
2、字符流为处理字符的输入和输出提供了方便的方法。
3、字符流类(CharacterStream)字符流类用于向字符流写入、读取16位二进制字符数据。
4、读数据的逻辑:
open a stream
while more information
read information
close the stream
5、写数据的逻辑:
open a stream
while more information
write information
close the stream
6、节点流:从特定的地方读写的流,例如:磁盘
7、过滤流:使用节点流作为输入和输出。过滤流是使用一个已经存在的输入流或输出流连接创建的。
8、InputStreamReader和OutputStreamWriter类是java.io包中用于处理字符流的基本类,用来在字节流和字符流之间搭一座桥。主要构造方法如下:
InputStreamReader(InputStream in)
InputStreamReader(InputStream in,String enc)
OutputStreamWriter(OutputStream out)
OutputStreamWriter(OutputStream out,String enc)
enc为指定的编码规范(若无此参数,表示使用当前平台的缺省规范,可用getEncoding()方法得到当前字符流所用的编码规范)
9、BufferInputStreamReader中的readLine()方法表示读取一行
InputStreamReader br = new BufferInputStreamReader();
String str = br.readLine();
while(null != str)
{
System.out.println(str);
str = br.readLine();
}
br.close();
10、FileReader 类创建了一个可以读取文件内容的Reader类。FileReader继承于InputStreamReader。方法如下:
FileReader("文件路径");
FileReader(File对象);
11、FileWriter创建了一个可以写文件的Writer类,继承于OutputStreamWriter常用方法如下:
FileWriter("文件路径")
FileWriter("文件路径",boolean append):append如果为true则将字节写入文件的末尾,而不是文件的开始。若为false则从头开始写,覆盖掉原来的部分
FileWriter(File 对象)、
12、CharArrayReader是一个把字符数组作为源的输入流的实现,有两个构造方法,每一个都需要一个字符数组提供数据源
CharArrayReader(char array[])
CharArrayReader(char array[],int start,int numchars)
array是输入源,第二个构造方法从字符数组的子集创建了一个Reader,该子集以start指定的索引开始,长度为numchars。
|
|