IO之转换流-OutputStreamWriter类和InputStreamReader类

本文提供了两个示例,分别演示如何使用OutputStreamWriter将字符输出流转换为字节输出流以写入文件,以及如何使用InputStreamReader将字符输入流从字节输入流中读取出来。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转换流类别:

OutputStreamWriter:是Writer的子类,将输出的字符流变成字节流,即将一个字符流的输出对象变成字节流输出对象。

InputStreamReader:是Reader的子类,将输入的字节流变成字符流,即将一个字节流的输入对象变成字符流的输入对象

以文件操作为例:内存中的字符数据需要通过OutputStreamWrite变为字节流才能保存在文件中。读取时需要将读入的字节流通过InputStreamReader变为字符流。


一、将字符输出流变为字节输出流

public class OutputStreamWriterDemo {
	public static void main(String[] args) {
		File f = new File("D:"+File.separator+"test.txt");
		Writer writer = null;
		try {
			writer = new OutputStreamWriter(new FileOutputStream(f));
			writer.write("将字符输出流变成字节输出流");
			writer.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}

二、将字符输入流变成字节输入流:

public class InputStreamReaderDemo {
	public static void main(String[] args) {
		File f = new File("D:"+File.separator+"test.txt");
		Reader reader = null;
		try {
			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));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值