转换流--OutputStreamWriter类与InputStreamReader类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了转换流--OutputStreamWriter类与InputStreamReader类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1886字,纯文字阅读大概需要3分钟。
内容图文
![转换流--OutputStreamWriter类与InputStreamReader类](/upload/InfoBanner/zyjiaocheng/1327/c13ea46c096147eda60404baa949ced5.jpg)
12.4 转换流--OutputStreamWriter类与InputStreamReader类
整个IO包实际上分为字节流和字符流,可是除了这两个流之外,还存在一组字节流-字符流的转换类。
OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流输出对象。
InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象。
假设以文件操作为例,则内存中的字符数据须要通过OutputStreamWriter变为字节流才干保存在文件里,读取时须要将读入的字节流通过InputStreamReader变为字符流,转换步骤如图12-7所看到的。
![]() |
(点击查看大图)图12-7 转换步骤 |
从图12-7中能够清楚地发现,无论怎样操作,终于所有是以字节的形式保存在文件里。
OutputStreamWriter的构造方法例如以下:
- public OutputStreamWriter(OutputStream out) ( 变的是流 变成字符流 才干对字符进行操作啊)
范例:将字节输出流变为字符输出流
- package org.lxh.iodemo.changeiodemo;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.OutputStreamWriter;
- import java.io.Writer;
- public class OutputStreamWriterDemo01 {
- public static void main(String[] args)
throws Exception { // 全部的异常- 抛出
- File f = new File("d:" + File.separator + "test.txt");
- Writer out = null;
- out = new OutputStreamWriter(new FileOutputStream(f));// 字节流变为字符流
- out.write("hello world"); // 使用字符流输出
- out.close();
- }
- }
程序执行结果:
范例:将字节输入流变为字符输入流
- package org.lxh.iodemo.changeiodemo;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.InputStreamReader;
- import java.io.Reader;
- public class InputStreamReaderDemo01 {
- public static void main(String[] args) throws
Exception { // 全部的异常抛出- File f = new File("d:" + File.separator + "test.txt");
- Reader reader = null;
- reader = new InputStreamReader(new FileInputStream(f));// 将字节流变为字符流
- char[] c = new char[1024];
- int len = reader.read(c);
- reader.close();
- System.out.println(new String(c, 0, len));
- }
- }
U提示:FileWriter和FileReader的说明。
从JDK文档中能够知道FileOutputStream是OutputStream 的直接子类,FileInputStream也是InputStream的直接子类,可是在字符流文件里的两个操作类却有一些特殊,FileWriter并不直接是Writer的子类,而是OutputStreamWriter的子类,而FileReader也不直接是Reader的子类,是InputStreamReader的子类,那么从这两个类的继承关系就能够清楚地发现,无论是使用字节流还是字符流实际上终于都是以字节的形式操作输入/输出流的。
原文:http://www.cnblogs.com/bhlsheji/p/4307535.html
内容总结
以上是互联网集市为您收集整理的转换流--OutputStreamWriter类与InputStreamReader类全部内容,希望文章能够帮你解决转换流--OutputStreamWriter类与InputStreamReader类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。