码迷,mamicode.com
首页 > 编程语言 > 详细

java基础 关于转换流

时间:2016-08-11 09:44:23      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

转换流有两种:InputStreamReader:将字节流转换为字符流 OutputStreamWriter:将字符流转换为字节流 什么时候使用转换流?由以下分析: 流对象很多,首先要明确那个流对象。 通过三点来完成: 1、明确源和目的 源:输入流。InputStream Reader 目的:输出流。 OutputStream Writer 2、操作的数据是否是纯文本。 是:字符流 否:字节流 3、当体系明确后,再明确要使用哪个具体的对象。 通过设备来进行区分: 源设备:内存,硬盘,键盘 目的设备:内存,硬盘,控制台 用一个例子简单的说明: 将键盘录入的数据保存到一个文件中,输入“over”时表示录入结束。 详细分析: 源:从InputStream Reader中选择; 因为是键盘录入的是纯文本,所以使用Reader. 设备:键盘,所以用System.in; 发现System.in是字节流的操作,与Reader(字符流)矛盾,这时就要用到转换流 InputStreamReader 为了提高操作效率,使用缓冲技术,选择BufferedReader 目的:从 OutputStream Writer中选择 因为是文本文件,所以选择Writer, 设备:硬盘上,一个文件,选择FileWriter 为了提高操作效率,使用缓冲技术,选择BufferedWriter import java.io.*; class ReadinFile { public static void main(String[] args)throws IOException //这里问了方便阅读。先不做异常处理 { BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in)); //将字节流转换为字符流 BufferedWriter bufw=new BufferedWriter(new FileWriter("readin.txt")); String line=null; while((line=bufr.readLine())!=null) { if("over".equals(line)) break; bufw.write(line); bufw.newLine(); } bufw.close(); bufr.close(); } }

java基础 关于转换流

标签:

原文地址:http://www.cnblogs.com/Mrshuang11/p/5759603.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!