【Java学习笔记】25:转换流(从字节流到字符流的转换)

xiaoxiao2021-02-28  66

转换流是一种adapter(适配器:将一个类的接口变换成客户端所期待的一种接口)。当得到的数据是字节流的,但使用时需要用字符流,这种时候就要采用转换流做转换了。

[1]InputStreamReader从字节输入流到字符输入流

package t1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test { public static void main(String[] args) { test1(); } private static void test1() { boolean flag=true; System.out.println("请输入一句话,输入bye程序结束:"); while(flag) { BufferedReader br= new BufferedReader (new InputStreamReader(System.in));//通过InputStreamReader转换 String str=null; try { str = br.readLine(); } catch (IOException e) { e.printStackTrace(); } if(!str.equals("bye")) System.out.println(str); else flag=false; } } }

运行结果:

[2]OutputStreamWriter从字节输出流到字符输出流

package t1; import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class Test { public static void main(String[] args) { test2(); } private static void test2() { BufferedWriter out=null; try { out=new BufferedWriter( new OutputStreamWriter( new FileOutputStream("C:\\Users\\Shinelon\\Desktop\\sb.txt"))); out.write("AROLF"); //out.flush();//清空缓冲区 } catch (Exception e) { e.printStackTrace(); }finally{ try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } }

可以看到先创建了FileOutputStream(文件字节输出流)的实例,然后用OutputStreamWriter(从字节输出流到字符输出流)类的转换构造函数建立中间实例,再传给BufferedWriter(缓冲字符输出流)实现了转换。

转载请注明原文地址: https://www.6miu.com/read-63914.html

最新回复(0)