Java IO _字节-字符转换流

 掌握OutputStreamWriter InputStreamReader 类的作用


一般在操作输入输出内容的就需要使用字节或字符流,但是有些时候需要将字符流变为字节流的形式,或者将字节流变为字符流的形式,所以,就需要另外一组转换流的操作类。


在OutputStreamWriter 类中需要一个字节流的对象:public OutputStreamWriter(OutputStream out)

例如,将字节的文件输出流,以字符的形式输出。

import java.io.* ;
public class OutputStreamWriterDemo01{
	public static void main(String args[]) throws Exception	{	// 所有异常抛出
		File f = new File("d:" + File.separator + "test.txt") ;	
		Writer out = null ;	// 字符输出流
		out = new OutputStreamWriter(new FileOutputStream(f)) ;	// 字节流变为字符流
		out.write("hello world!!") ;	// 使用字符流输出
		out.close() ;
	}
};

读的时候,也可以使用字符流的形式读取字节流的文件。

import java.io.* ;
public class InputStreamReaderDemo01{
	public static void main(String args[]) throws Exception{
		File f = new File("d:" + File.separator + "test.txt") ;	
		Reader reader = null ;
		reader = new InputStreamReader(new FileInputStream(f)) ;	// 将字节流变为字符流
		char c[] = new char[1024] ;
		int len = reader.read(c) ;	// 读取
		reader.close() ;	// 关闭
		System.out.println(new String(c,0,len)) ;
	}
};

但是,以上只是以文件操作为例,因为OutputStreamWriter 中接收的类型是OutputStream , 只要是字节输出流都可以使用字符的形式操作,而InputStreamReader() 中接收的类型是InputStream  ,只要是字节的输入流都可以使用字符的输入流操作。

总结:

1、一定要掌握两个转换类的作用

2、一定要明白,操作的终端点实际上都是以字节的形式进行的

3、FileWriter 和 FileReader 两个子类的字义,中间使用了转换类

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值