/*
* 转换流:
* 输入字节流的转换流:
* InputStreamReader() 输入字节流到字符流 是字节流到字符流的通道,FileReader还InputStreamReader的子类
*
* 输出字节流的转换流
* OutputStreamWriter() 如果拿到的一个接口放回的是字节流,那么就需要转换成字符流输出
*
* 作用:
* 1.如果目前获得是是字节流,需要转换成字符流才能使用,那么就使用转换字符流;
* 2.使用转换流可以指定编码集,进行读写文件;
*/
package com.michael.lin;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Demo707 {
public static void main(String[] args) throws IOException{
readLine();
writeLine();
}
//输入字节转换流
public static void readLine() throws IOException{
InputStream in= System.in; // in是一个InputStream类的匇InputStream
//System.out.println("读到的数据是:" + (char)in.read());
//把字节流转换成字符流 -- 转换流
InputStreamReader inputStreamReader = new InputStreamReader(in);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
System.out.println("您输入的是:" + bufferedReader.readLine());
}
//输出字节转换流
public static void writeLine() throws IOException{
File file = new File("c:\\b.txt");
FileOutputStream fileOutputStream = new FileOutputStream(file);
//把输出字节流转换为输出字符流
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);
outputStreamWriter.write("你好,吃饭了吗");
outputStreamWriter.close();
}
}