大家好,帮我看看这些代码。
在eclipse和myeclipse中都会报错。报错位置代码中有说明。
但是,我在DOS下用javac 和java 编译运行,都没有错,这是为什么呢?
谢谢大家!import java.io.*;
public class PrintStream2 { public static void main(String[] args) {
PrintStream ps = null;
    try {
      FileOutputStream fos = new FileOutputStream("H:\\log.txt");
      ps = new PrintStream(fos);  //在eclipse中,这一行有红色下滑线报错
    } catch (IOException e) {
      e.printStackTrace();
    }
    if(ps != null){
      System.setOut(ps);   //在eclipse中,这一行有红色下滑线报错
    }
    int ln = 0;
    for(char c = 0; c <= 60000; c++){
      System.out.print(c+ " ");
      if(ln++ >=100){ System.out.println(); ln = 0;}
    }
}
}

解决方案 »

  1.   

    没有啊,我这里没报错啊,楼主看看你的工程有没有加入jre啊
      

  2.   

    查看你的DIE所集成的虚拟机环境
      

  3.   

    Window-->java-->Installed JREs看看右边的选项,是不是你的虚拟机的路径
      

  4.   

    我用的eclipse是3.3英文版的。
    现在和以前用来编译其它程序都没有问题,只有这个程序在编译时会出错。
      

  5.   

    我的也没报错  估计没加入JDK到你的IDE里吧
      

  6.   

    上面两处报错,用鼠标放上去会分别有如下提示:1、The constructor PrintStream(FileOutputStream) is undefined2、The method setOut(PrintStream) in the type System is not applicable for the 
     arguments (PrintStream)
      

  7.   

    看看你的工程里面的JDK是否正确,在工程上右击,选中properties-->Java Compiler查看里面的编译JDK版本
      

  8.   

    那你吧PrintStream ps = null;改成PrintStream ps; 看还有第一个错吗?
      

  9.   

    回复3楼。
    Window-->java-->Installed JREs看看右边的选项,是不是你的虚拟机的路径我已经看过了,所用jre的确是我装的路径位置。
      

  10.   

    回复8楼
    properties-->Java Compiler查看里面的编译JDK版本这里的显示的jdk版是默认6.0
      

  11.   

    回复12楼
    我的eclipse和meclipse都会有相同的报错但是其它程序都正常。
      

  12.   

    应该是你的环境没配好,还是检查你的jre安装。
    我运行你的程序了,没有提示错误在myeclipse中
      

  13.   

    我倒  其他的程序都能在Eclipse下面运行  就这个不行  还真是邪门啊...
      

  14.   

    看下工程下有没有配置好jdk..
      

  15.   

    大家好。困惑我两天的这个问题终于找出答案了。
    起初害的我重了JDK也没有解决问题。原来,我在这个包中建了一个类,类名为PrintStream。这样正好和java.io.PirntStream同名。
    相信大家也会明白原因了吧。谢谢大家的关注。