能给解释下错误输出流吗

Iver_99 2012-07-08 09:33:14

import java.io.*;

public class TestRedirect
{
public static void main(String[] args)throws IOException,FileNotFoundException
{
FileInputStream fis=new FileInputStream("e:\\TestGridBag1.java");

PrintStream ps=new PrintStream(new FileOutputStream("e:\\aaa.txt"));
System.setErr(ps); //重定向错误输出流
int flag=0;
while((flag=fis.read())>0)
{
System.out.print((char)flag);
}

fis.close();
ps.close();
}
}


我把错误输出流重定向到aaa.txt文件可是为什么出错的时候错误信息还是在控制台上显示?
aaa.txt文件根本就没有生成
...全文
120 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Iver_99 2012-07-10
  • 打赏
  • 举报
回复
我知道了其实只要把
PrintStream ps=new PrintStream(new FileOutputStream("e:\\aaa.txt"));
System.setErr(ps); //重定向错误输出流

这两句话放在main最前面就好了,,因为我试验的时候出错的位置在重定向操作之前。所以不起作用了

[Quote=引用 3 楼 的回复:]

我也想明白
[/Quote]
Iver_99 2012-07-10
  • 打赏
  • 举报
回复
问题我已经知道了

第一 世界上没有二的问题

第二 你在这是学习知识的还是挣分的

[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

不要沉啊。。。。


是该沉了。
第一:分数太少
第二:问的有点二

一楼给你解释的够了。
[/Quote]
程序员一灯 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

不要沉啊。。。。
[/Quote]

是该沉了。
第一:分数太少
第二:问的有点二

一楼给你解释的够了。

新铺村长 2012-07-09
  • 打赏
  • 举报
回复
我也想明白
Iver_99 2012-07-09
  • 打赏
  • 举报
回复
不要沉啊。。。。
Iver_99 2012-07-09
  • 打赏
  • 举报
回复
对呀,我想的是当出错时,比如文件未找到,错误信息输出到txt文件中,setOut不是重定向标准输出流吗?[Quote=引用 1 楼 的回复:]

System.setErr(ps); //重定向错误输出流
那是错误输出时的, System.out.print((char)flag);
的重定向是
System.setOut(PrintStream out)
[/Quote]
myisfei 2012-07-08
  • 打赏
  • 举报
回复
System.setErr(ps); //重定向错误输出流
那是错误输出时的, System.out.print((char)flag);
的重定向是
System.setOut(PrintStream out)

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧