JAVA语言 IO字节-字符转换流实例讲解
小标 2019-01-18 来源 : 阅读 934 评论 0

摘要:本文主要向大家介绍了JAVA语言 IO字节-字符转换流实例讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言 IO字节-字符转换流实例讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。


OutputStreamWriter和InputStreamReader


在整个IO包中,实际上就分为字节流和字符流,但是除了这两个流之外,还存在一组字节流-字符流的转换类。


OutputStreamWriter:Writer的子类,将输出的字符流转换成字节流,即:将一个字符流的输出对象转换成字节流的输出对象。InputStreamReader:Reader的子类,将输入的字节流转换为字符流,即:将一个字节流的输入对象转换为字符流的输入对象。


转换步骤:


如果以文件操作为例,在内存中的字符数据需要通过OutputStreamWriter变为字节流才能保存到文件中,读取的时候需要将读入的字节流通过InputStreamReader变为字符流。



在OutputStreamWriter中需要一个字节流的对象:OutputStreamWriter(OutputStreamout)


在InputStreamReader中需要一个字节流的对象:InputStreamReader(InputStreamin)


public class OutputStreamWriterDemo {


public static void main(String[] args) throws IOException {


File f = new File("f:" + File.separator + "test.txt");


Writer out = null;//字符输出流


out = new OutputStreamWriter(new FileOutputStream(f));//字符流转换成字节流


out.write("hello world!!!");


out.close();


}


}


读的时候,也可以使用字符流的形式读取字节流文件。


public class InputStreamReaderDemo {


public static void main(String[] args) throws IOException {


File f = new File("f:" + File.separator + "test.txt");


Reader input = null; //字符输入流


input = new InputStreamReader(new FileInputStream(f));//将字节流转换成字符流


char[] c = new char[1024];


int len = input.read(c);


input.close();


System.out.println(new String(c,0,len));


}


}


但是,以上是以文件操作为例,因为OutputStreamWriter接受的类型是OutputStream,只要是字节输出流都可以使用字符的形式操作,而InputStreamReader接受的类型是InputStream,只要是字节输入流都可以使用字符的输入流操作。


虽然以字符的输出流操作了字节的输出流,但是还是字节输出,而字符的输入流,虽然以字符操作,但实际上还是使用的字节流,也就是说,传输或从文件中读取数据的时候,文件中真正保存的是字节。


总结:


操作的终端实际上都是以字节的形式进行的。


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程