本帖最后由 25343215 于 2013-12-6 23:13 编辑
见代码:假设我们要完成一个带有缓冲区的键盘输入流,和屏幕输出流,希望这样举例,你能懂
new BufferedReadrer(new InputStreanReader(System.in));
在这个过程中,System.in 是字节流,通过InputSteamReader,转换成默认字节编码的字符流,最后传递给带有读取一行特性的BuferedReader。
new BufferedWriter(new OutputStreamWriter(System.out));
通过 读取一行的方式,把输入传输到BufferedWriter中,这时是字符流,然后通过OutputStreamWriter,完成默认字符集的,解码操作。变成字节流,最后System.out输出到屏幕。
- import java.io.*;
- class TransStreamDemo
- {
- public static void main(String[] args) throws IOException
- {
- //获取键盘录入对象。
- //InputStream in = System.in;
- //将字节流对象转成字符流对象,使用转换流。InputStreamReader
- //InputStreamReader isr = new InputStreamReader(in);
- //为了提高效率,将字符串进行缓冲区技术高效操作。使用BufferedReader
- //BufferedReader bufr = new BufferedReader(isr);
- //键盘的最常见写法。
- BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
- BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
- String line = null;
- while((line=bufr.readLine())!=null)
- {
- if("over".equals(line))
- break;
- bufw.write(line.toUpperCase());
- bufw.newLine();
- bufw.flush();
- }
- bufr.close();
- }
- }
复制代码
|