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

(一)处理流

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值