java转换流有什么用?

在程序开发中,有时会遇到字节流和字符流之间需要进行转换的可能。在java.io包中提供了两个类可以将字节流转换为字符流,它们分别是InputStreamReader和OutputStreamWriter。

OutputStreamWriter是Writer的子类,能够将一个字节输出流转换成字符输出流,方便直接写入字符,而InputStreamReader是Reader的子类,能够将一个字节输入流转换成字符输入流,方便直接读取字符。下面通过案例学习如何将字节流转换为字符流,为了提高读/写效率,通过字符缓冲流实现转换的操作,如文件5-9所示。

  文件5-9 Example09.java

package com.itheima.example;import java.io.*;public class Example09 {    public static void main(String[] args) throws Exception {        //创建字节输入流        FileInputStream input=new FileInputStream("read.txt");        //将字节输入流转换成字符输入流        InputStreamReader streamReader=new InputStreamReader(input);        //赋予字符输入流对象缓冲区        BufferedReader bufferReader=new BufferedReader(streamReader);        //创建字节输出流        FileOutputStream output=new FileOutputStream("dest2.txt")        //将字节输出流转换成字符输出流        OutputStreamWriter streamWriter=new OutputStreamWriter(output);        //赋予字符输出流对象缓冲区        BufferedWriter bufferWriter=new BufferedWriter(streamWriter);        String line=null;        //判断是否读到文件末尾        while ((line=bufferReader.readLine()) !=null) {            bufferWriter.write(line);        //输出读取到的文件        }        bufferReader.close();        bufferWriter.close();    }}

程序运行结束后,按F5键刷新chapter05项目后打开dest2.txt文件,执行结果如图5-5所示。

java转换流有什么用?

图5-15 dest2.txt

在文件5-9中,实现了字节流和字符流之间的转换,将字节流转换为字符流,从而实现直接对字符的读/写。需要注意的是,在使用转换流时,只能针对操作文本文件的字节流进行转换,如果字节流操作的是图片或者音频,此时转换为字符流就会造成数据丢失。

文章来源于:王晴儿网页设计博客 欢迎分享交流,转载请注明出处

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/262444.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年5月8日 01:08
下一篇 2023年5月8日 01:08

相关推荐

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息