A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 悟佛修道 高级黑马   /  2013-5-29 23:45  /  1598 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 悟佛修道 于 2013-6-4 23:06 编辑
  1. class TransStreamDemo2
  2. {
  3. public static void main(String[] args) throws IOException
  4. {
  5. System.setIn(new FileInputStream("PersonDemo.java"));

  6. System.setOut(new PrintStream("zzz.txt"));        当这行写出来后 下面的system.out还会不会执行???如果不会执行相当于就废了?
  7. //键盘的最常见写法。
  8. BufferedReader bufr =
  9. new BufferedReader(new InputStreamReader(System.in));


  10. BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));

  11. String line = null;

  12. while((line=bufr.readLine())!=null)
  13. {
  14. if("over".equals(line))
  15. break;
  16. bufw.write(line.toUpperCase());
  17. bufw.newLine();
  18. bufw.flush();
  19. }

  20. bufr.close();

  21. }
  22. }
复制代码
System.setOut(new PrintStream("zzz.txt"));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
这两句有联系没啊?是不是其中只能存在一句?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

2 个回复

倒序浏览
本帖最后由 刘勇强 于 2013-5-30 00:06 编辑

System.setOut(new PrintStream("zzz.txt")); 是把标准输出重新定义,之前System.out是指显示器,现在你再调用System.out,就是输出写到zzz.txt这个文件里了


我刚才试了一下,已经把PersonDemo.java里的信息 读到了zzz.txt里

你把System.setOut(new PrintStream("zzz.txt"));   这句注释掉,也就是标注输出out没有修改,程序会把PersonDemo.java内的内容读到控制台  你可以试一下.

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 First 于 2013-5-30 00:03 编辑

这两句话加一起就是:
输出到 “zzz.txt"

如果没有第一句话,输出流就是控制台,
如果没有第二句话,就等于没有指明输出流

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马