[code=Java]  import java.io.*;
  public class ReadFile//输入流的嵌套,有固定的顺序么?怎么确定的这个顺序?
  {  public static void main(String args[])
    {  String s;
      FileInputStream is;
      InputStreamReader ir;
      BufferedReader in;
      try
      { is=new FileInputStream("bbs.txt");
        ir=new InputStreamReader(is);
        in=new BufferedReader(ir);
        while((s=in.readLine())!=null)
        System.out.println("Read: "+s); 
       }
      catch(FileNotFoundException e)
      { System.out.println("File not found!");
        System.exit(-2); //这句是什么意思啊?
      }
      catch(IOException e)
      { System.out.println("Error:"+e);
        System.exit(-3); 
      } 
    }
  }[/code]

解决方案 »

  1.   

    输入流的嵌套好像没啥顺序啊。 常用的也就那几种嵌套方式。
    至于System.exit(-2);这些的 -2 应该是退出时的状态码吧 不过-2代表什么意思  我就不知道啦 学习!!!
      

  2.   

    exit
    public static void exit(int status)终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非零的状态码表示异常终止。 
    该方法调用 Runtime 类中的 exit 方法。该方法永远不会正常返回。 调用 System.exit(n) 实际上等效于调用:  Runtime.getRuntime().exit(n)
     
    参数:
    status - 退出状态。
      

  3.   

    System.exit(-2); //这句是什么意思啊?就是终止的意思!~异常终止了 同:Runtime.getRuntime().exit(n)public void exit(int status)
    通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。此方法从不正常返回。可以将变量作为一个状态码;根据惯例,非零的状态码表示非正常终止。 
    虚拟机的关闭序列包含两个阶段。在第一个阶段中,会以某种未指定的顺序启动所有已注册的关闭钩子 (hook)(如果有的话),并且允许它们同时运行直至结束。在第二个阶段中,如果已启用退出终结,则运行所有未调用的终结方法。一旦完成这个阶段,虚拟机就会暂停。 如果在虚拟机已开始其关闭序列后才调用此方法,那么若正在运行关闭钩子,则将无限期地阻断此方法。如果已经运行完关闭钩子,并且已启用退出终结 (on-exit finalization),那么此方法将利用给定的状态码(如果状态码是非零值)暂停虚拟机;否则将无限期地阻断虚拟机。 System.exit 方法是调用此方法的一种传统而便捷的方式。 参数:
    status - 终止状态。按照惯例,非零的状态码表明非正常终止。
      

  4.   

    exit参数没有硬性规定
    一般来说,习惯上把0作为正常退出标准值
    非0用来表示程序非正常关闭,同时提供具体的文档以说明每个错误码的描述