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

相关推荐

  • 小编分享全网营销推广软件有什么用,效果怎么样。

    如今已经进入了互联网时代,对于很多企业来说,他们知道全网营销的推广威力,于是就安排外面的电脑公司给企业建立了网站,有些企业老板听说关键词需要优化,要求对方也做了此事,并且在网络上看到什么样好的推广方…

    2023年6月7日
    05
  • 小编分享如何在eclipse中改变类名。

    在Eclipse中改变类名的步骤如下: (图片来源网络,侵删) 1、打开Eclipse并导航到包含要更改类名的Java项目。 2、在项目浏览器中,找到要更改类名的源文件(.java文件)。 3、右键单击源文件,然后选择“Refactor”…

    2024年6月28日
    00
  • Java和Web前端哪个有发展前景?

    Java和Web前端都是当今技术行业里的热门岗位,岗位招聘需求量大,人才竞争度高,同学们掌握这两个岗位里其中任何一个的相关主流技术,都可以找到一份不错的职位。下面请允许笔者做一个简要的分析阐述: 一、Web前端…

    2023年5月8日
    05
  • 关于eclipse中如何创建对象数组。

    在Eclipse中创建对象数组的步骤如下: (图片来源网络,侵删) 1、打开Eclipse并创建一个新的Java项目,点击菜单栏中的"File",然后选择"New" > "Java Project",输入项目名称,…

    2024年7月25日
    00
  • java教程之高性能并发计数器之巅峰对决

    并发计数器各个方案介绍 方案概述 jdk5提供的原子更新长整型类 AtomicLongsynchronizedjdk8提供的 LongAdder 【单机推荐】Redisson分布式累加器【分布式推荐】 方案介绍 jdk5提供的原子更新长整型类 AtomicLong 在J…

    2023年5月12日 编程分享
    02
  • 干货丨为什么Nginx这么火?原因在这里

    Nginx(“engine x”)一个具有高性能的HTTP和反向代理的WEB服务器,同时也是一个POP3/SMTP/IMAP代理服务器。 是由伊戈尔·赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。 另外…

    2023年5月13日
    04
  • 分享企业做全网营销有什么用。

    互联网的时代下,经济也讲究互联网经济。现在市场中所提出的全网营销,主要讲求的是全方位的推广,无论是网页搜索、B2B平台、B2C平台还是门户媒体,都涉及到全网营销。如何更有效地了解清楚全网营销? 网页搜索:这…

    2023年4月2日
    00
  • 分享刷访客有什么用。

    想要通过补单把店铺做起来,那么不仅仅是刷销量这么简单了,需要把店铺各个方面的数据都要做起来,像是访客、收藏、转化等数据。那么很多卖家朋友不知道刷访客有什么用,下面就告诉大家刷访客的作用是什么! 刷访客…

    2023年10月26日
    00

联系我们

QQ:951076433

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