java转换流有什么用?

createh51周前 (04-09)技术教程12

在程序开发中,有时会遇到字节流和字符流之间需要进行转换的可能。在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所示。

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

相关文章

Java是什么?Java有什么用?

我们经常提到Java,很多小白只听说过但对其并没有太多具体的了解。那么Java是什么?Java有什么用??今天就来探讨一下。我们常常会听说,Java是世界第一语言,很多应用软件的开发都离不开Java。...

为什么大公司都选择用 Java?

为什么大公司都选择用 Java?刷到个魔幻现状:字节用Java扛住春晚红包,阿里用Java处理双11订单,但Java兄弟们却在吐槽:“面了10家全挂”、“投简历连已读都没有”...作为帮935个Jav...

Java的应用领域

Java程序可以在便携式计算机、电视、电话、手机和其他的大量电子设备上运行。Java的用途不胜枚举,它拥有无可比拟的能力,其节省的时间和费用也十分可观。Java的应用领域主要有以下方面。1桌面应用系统...

Java开发主要应用在了哪些领域?

  在现如今的编程领域,Java开发绝对是能排得上号的,目前的互联网编程领域,Java开发非常的常见,在很多领域都有应用,导致企业对于人才的需求量不断的增长。今天我们就来为大家讲解一下Java主要的应...

为什么Java 9令程序员如此兴奋?

IT之家(www.ithome.com):为什么Java 9令程序员如此兴奋?随着标准Java的版本更新,开发者总是可以从升级后的版本中获取想要的功能。那么2016年Java 9的发布为什么会让开发者...