-
转换流:以将一个字节流转换为字符流,也可以将一个字符流转换为字节流
-
字节字符转换流位于java.io包
1.OutputStreamWriter类
OutputStreamWriter:可以将输出的字符流转换为字节流的输出形式
字符流转换成字节流图解
案例:
package writer_to_outputstream;
import writer_and_reader.IOUtills;
import java.io.*;
public class OutputStreamWriterTest {
public static void main(String[] args) {
BufferedWriter bw=null;
FileOutputStream fos=null;
OutputStreamWriter osw=null;
try {
fos=new FileOutputStream("myData.txt");
osw=new OutputStreamWriter(fos,"utf-8");
//创建BufferedWriter对象
bw=new BufferedWriter(osw);
//BufferedWriter对象 把字符串写入流中(写入字符流-》转换流-》字节流-文件中)
bw.write("abcdefghsssl");
bw.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
IOUtills.close(bw);
IOUtills.close(osw);
IOUtills.close(fos);
}
}
}
2.InputStreamReader类
InputStreamReader:将输入的字节流转换为字符流输入形式。
字节流转换成字符流图解
案例:
public class TestSystemReader {
public static void main(String[] args) throws IOException {
//实例化InputStreamReader,参入参数为System.in 是字节输入流
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
//实例化BufferedReader
BufferedReader br = new BufferedReader(inputStreamReader);
while (true) {
//读取一行数据
String str = br.readLine();
//打印
System.out.println(str);
}
}
}