转换流

 转换流:

 输入字节流的转换流:

package bianmajiema;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Demo2 {

	public static void main(String[] args) throws IOException {
		//readTest();
		readTest2();
		//writeTest();
		//writeTest2();
	
	}
	
	public static void readTest() throws IOException{
		InputStream in=System.in;//获取标准输入流
		System.out.println("读到的字符:"+(char)in.read());//read 只能读一个字节
	    
		//需要把字节流转化成字符流
		InputStreamReader inputStreamReader=new InputStreamReader(in);
		BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
	   String line=null;
	   while((line=bufferedReader.readLine())!=null){
		   
		   System.out.println(line);
	   }
	   bufferedReader.close();
	}
	
	public static void writeTest() throws IOException{
		File file=new File("E:\\t\\b.txt");
		FileOutputStream fileout=new FileOutputStream(file);
		
		
		//需要把输出字节流流转化为字符流
		OutputStreamWriter outputStreamWriter=new OutputStreamWriter(fileout);
		outputStreamWriter.write("大家好");
		//fileout.write("dajiahao".getBytes());
		outputStreamWriter.close();
	}
	//使用输出字节流的转换流指定码表写出数据
	public static void writeTest2() throws IOException{
		File file =new File("E:\\t\\f.txt");
		//建立输出通道
		FileOutputStream fileoutputStream=new FileOutputStream(file);
		//建立把输出字节流转化成字符流并且指定编码表
		OutputStreamWriter outputStreamWriter=new OutputStreamWriter(fileoutputStream,"utf-8");
		outputStreamWriter.write("新中国");
		outputStreamWriter.close();
	}
	
	public static void readTest2() throws IOException{
		File file=new File("E:\\t\\f.txt");
		FileInputStream fileInputStream=new FileInputStream(file);
		//穿件字节流的转换流并且指定码表进行读取
		InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream,"utf-8");
		char[] c=new char[1024];
		int length=0;
		while((length=inputStreamReader.read(c))!=0){
			System.out.println(new String(c,0,length));
		}
	}
}

InputStreamReader 是字节通向字符流的桥梁,是 FileReader 的父类   字节流 -- 》字符流

 输出字节流的转换流:OutputStreamWriter字符通向字节的桥梁

 转换流的作用:

 1.如果目前所获取到的是一个字节流需要转换字节流使用,这个时候可以使用转换流

 2.可以使用指定的编码表读写

 应用场景:网络编程,接受别人的东西的时候

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值