下面我就这个问题具体解释一下第一步
 我得applet类主要代码如下
public class AlarmApplet
  extends Applet
   {
  private Subscriber subs;  public void init() {
    System.out.println("init the applet");
  }
  public void start() {       try{ 
          subs=new Subscriber();
           Thread sub=new Thread(subs);
           sub.start();   
       }catch(Exception e){
             System.out.println(e.getMessage());
       }     System.out.println("start the applet"); 
    
  }
......
}第二步
Subscriber类类主要代码如下:
public class Subscriber extends Application implements Runnable{
public void run() {
Subscriber app = new Subscriber();
                   //subscribe.config就是哪个配置文件
app.main("Subscriber", new String[0], "subscribe.config");
}
}第三步
jsp文件中代码
<applet
   codebase = "<%=Root%>"
   code     = "com.thtf.ezone.ezibs.jpc.rmiaccess.AlarmApplet.class"
   archive  = "app.jar"
   name     = "alarmApplet"
   width    = "0"
   height   = "0"
   >
</applet>
我把配置文件subscribe.config打在了app.jar中的根目录了第四步
运行时报错 如下
init the alarm applet
start the alarmapplet
Subscriber: Ice.FileException
    error = 0
    path = "subscribe.config"
Ice.FileException
    error = 0
    path = "subscribe.config"
at Ice.PropertiesI.load(PropertiesI.java:219)
at Ice.Application.main(Application.java:58)
at Ice.Application.main(Application.java:36)
at com.thtf.ezone.ezibs.jpc.iceapp.Subscriber.run(Subscriber.java:179)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: subscribe.config (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at Ice.PropertiesI.load(PropertiesI.java:213)
... 4 more

解决方案 »

  1.   

    多放几个地方试试看,我觉得应该放在class包内部而不是和它同一层
      

  2.   

    这可能说明你的文件放的路径不对了
    一般来说应该放到你的class文件同一个目录下
      

  3.   

    public class Subscriber extends Application implements Runnable{
    public void run() {
    Subscriber app = new Subscriber();
                       //subscribe.config就是哪个配置文件
    app.main("Subscriber", new String[0], "subscribe.config");
    }
    }
    这个地方的路径是怎么写的啊
      

  4.   

    app.main("Subscriber", new String[0], "subscribe.config"),最后一个参数就是文件名和文件路径
      

  5.   

    改成app.main("Subscriber", new String[0], "/subscribe.config") 试一下
      

  6.   

    app.main("Subscriber", new String[0], "/subscribe.config") 也不行
    包括从一篇文章里找到的
    app.main("Subscriber", new String[0], getClass().getResource("/subscribe.config").toString())
    也不行
    getClass().getResource("/subscribe.config").toString()输出值是jar:http://localhost:8080/ezIBS/app/tools/app.jar!/subscribe.config
      

  7.   

    你把文件流的语句改成试试:
    BufferedReader br=new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("subscribe.config")));