本帖最后由 胡智 于 2013-8-9 19:38 编辑
close方法是可以刷新的。楼主想要的是输入一行字符,回车以后会在屏幕上显示这一行的字符的大写形式。- while ((line=bufr.readLine())!=null)
- {
- if("over".equals(line))
- break;
- bufw.write(line.toUpperCase());
- bufw.newLine();
- //bufw.flush();//只有用这个才能看到结果
- }
复制代码 循环里面的效果是,你输入一行,转换后的内容存在缓存区里面。不刷新的话,不会打印到屏幕上。你再输入一行,再存于缓存里。直到你输入over结束循环,用close()关闭流。一刷新,之前存与缓存的内容都显示出来了。- import java.io.*;
- class TransStreamDemo
- {
- public static void main(String[] args) throws IOException
- {
- 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();
- bufw.close();//不能刷新
- }
- }
复制代码 所以你想输入一行就显示一行,就要在写入数据后刷新一下。
|
|