您的位置:首页 > 编程语言

学习笔记之面向对象编程20(处理流、缓冲流、转换流)

2017-09-21 09:12 337 查看
(一)处理流

Buffering:字符型<BufferedReader、BufferedWriter>,字节型<BufferedInputStream、BufferedOutputStream>

Filtering:字符型<FilterReader、FilterWriter>,字节型<FilterInputStream、FilterOutputStream>

Converting between bytes and character:字符型<InputStreamReader、OutputStreamWriter>

Counting:字符型<LineNumberReader>,字节型<LineNumberInputStream>

peeking ahead:字符型<PusbackRead>,字节型<PushbackInputStream>

Printing:字符型<PrintWriter>,字节型<PrintStream>

(二)缓冲流

缓冲流要“套接”在相应的节点流上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。

四种缓冲林,其常用的构造方法:

BufferedReader(Reader in)

BufferedReader(Reader in,int sz)

BufferedWriter(Writer out)

BufferedWriter(Writer out, int  sz)

BufferedInputStream(InputStream in ,int size)

BufferedInputStream(intputStream  in)

BufferedOutputStream(OutputStream in ,int size)
BufferedOutputStream(OuttputStream  in)
缓冲输入流支持其父类的mark和reset方法;
BufferedReader提供了ReaderLine方法用于读取一行字符串(以\r或\n分隔)
BufferedWriter提供了newLine用于写入一个行分隔符
对于输出的缓冲流,写出的数据会现在内存中缓存,使用flush方法将会使内存中的数据立刻写出。
(三)转换流
InputStreamReader和OutputStreamWriter用于字节数据到字符数据之间的转换
InputStreamReader需要和InputStream“套接”
OutputStreamWriter需要和OutputStream“套接”
转换流在构造时可以指定其编码集合
举例:
import java.io.*;
public class TestTransForm2 {
public static void main(String[] args){
InputStreamReader s1 = new InputStreamReader(System.in);
BufferedReader s2 = new BufferedReader(s1);
String s = null;
try{
s=s2.readLine();
while(s!=null){
if(s.equalsIgnoreCase("exit"))break;
System.out.println(s.toUpperCase());
s=s2.readLine();
}
s2.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: