黑马程序员技术交流社区
标题:
转换流InputStreamReader是一个方便人使用的工具
[打印本页]
作者:
王盟
时间:
2015-9-4 21:54
标题:
转换流InputStreamReader是一个方便人使用的工具
其实一切都起源于有些程序员太懒。。。
键盘录入的方式有两种:
方式1:一次读取一个字节,但是,我们需要每次都对读取到的数据进行保存,将来判断是否一行结束,麻烦。
方式2:一次读取一个字符数组,但是这个时候,最大的问题就是,数组的长度定义为多大比较好,不好确定。
这两种方式都不太好。
我想用一次读取一行的。
想到了高效字符输入流的:readLine()方法。而BufferedWriter需要的是一个字符流,但现有的是一个字节流。
于是需要一个转换流:InputStreamReader是字节流转向字符流的桥梁。
请看代码:
public static void main(String[] args) throws IOException {
// 封装数据源,键盘录入
// 也可以这么写:
// BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
InputStream is = System.in;
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
// 封装目的地,bw.txt
BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt"));
System.out.println("请输入:");
String line = null;
// 一次读取一行,开始录入。
while ((line = br.readLine()) != null) {
if (line.equals("over")) {
break;
}
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
br.close();
}
复制代码
作者:
Boint
时间:
2015-9-4 22:04
王盟哥 你好水啊!
作者:
王盟
时间:
2015-9-4 22:07
顶起顶起
作者:
王盟
时间:
2015-9-4 22:09
Boint 发表于 2015-9-4 22:04
王盟哥 你好水啊!
Just So! 彼此彼此喽
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2