import java.io.*;
public class TestPrintStream2 {
  public static void main(String[] args) {
    String filename = args[0];
    if(filename!=null){list(filename,System.out);}
  }
  public static void list(String f,PrintStream fs){
    try {
      BufferedReader br = 
                  new BufferedReader(new FileReader(f));
      String s = null; 
      while((s=br.readLine())!=null){
        fs.println(s);            
      }
      br.close();
    } catch (IOException e) {
      fs.println("无法读取文件");
    }
  }
}
为什么运行的时候会有:
   Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at TestPrintStream2.main(TestPrintStream2.java:4)
这个错误呢?
请问该怎么改?

解决方案 »

  1.   

    执行时,使用java TestPrintStream2 TestPrintStream2.java
      

  2.   

    我是用MyEclipse平台运行的啊,怎么输入命令呢?
      

  3.   

    在文件TestPrintStream2 上右键-->run as-->open run dialog-->选中arguments
    在program arguments 中输入参数就行了 
      

  4.   

    对,你根本就没有传入参数,所以会产生数组越界这个异常,因为没有参数,arg[0]就异常了,具体设置参数的方法就是LS的说的