摘要:本文主要向大家介绍了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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号