首页 > 代码库 > IO-04字节-字符转换流
IO-04字节-字符转换流
掌握OutputStreamWriter和InputStreamReader的作用。
在整个IO包中,实际上就是分为字节流和字符流,但除了这两个流之外,还存在一组字节-字符流转换类。
OutputStreamWriter:是Writer的子类,将输出的字符流编程字节流,既:将一个字符流的输出对象变成字节流输出对象。
InputStreamReader:是Reader的子类,将输入的字节流变成字符流。既:将一个字节流的输入对象变成字符流的输入对象。
字符流转换成字节流的代码:
package lianxijihe; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; public class lianxi047 { public static void main(String[] args){ File f = new File("F:\\AAA.txt"); try { Writer w = new OutputStreamWriter(new FileOutputStream(f)); w.write("aaaaaaaa"); w.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
将字节流转换成字符流代码:
package lianxijihe; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; public class lianxi048 { public static void main(String[] args){ File f = new File("F:\\Aaa.txt"); try { Reader r = new InputStreamReader(new FileInputStream(f)); char[] b = new char[1024]; r.read(b); r.close(); System.out.println(new String(b)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }从JDK文档发现FileWriter并不是Writer的直接子类而是OutputStreamWriter的子类,那么从类的继承关系可以发现,不管是使用字节流还是字符流实际上最终都是以字节流的形式操作输入输出流的。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。