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

来源:互联网 发布:放置江湖武功数据排行 编辑:程序博客网 时间:2024/05/16 19:50

(一)处理流

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();}}}




阅读全文
0 0
原创粉丝点击