黑马程序员技术交流社区
标题:
改变标准输入输出的一点疑问?
[打印本页]
作者:
悟佛修道
时间:
2013-5-29 23:45
标题:
改变标准输入输出的一点疑问?
本帖最后由 悟佛修道 于 2013-6-4 23:06 编辑
class TransStreamDemo2
{
public static void main(String[] args) throws IOException
{
System.setIn(new FileInputStream("PersonDemo.java"));
System.setOut(new PrintStream("zzz.txt")); 当这行写出来后 下面的system.out还会不会执行???如果不会执行相当于就废了?
//键盘的最常见写法。
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();
}
}
复制代码
System.setOut(new PrintStream("zzz.txt"));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
这两句有联系没啊?是不是其中只能存在一句?
作者:
刘勇强
时间:
2013-5-30 00:00
本帖最后由 刘勇强 于 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内的内容读到控制台 你可以试一下.
作者:
First
时间:
2013-5-30 00:01
本帖最后由 First 于 2013-5-30 00:03 编辑
这两句话加一起就是:
输出到 “zzz.txt"
如果没有第一句话,输出流就是控制台,
如果没有第二句话,就等于没有指明输出流
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2