WinRar可以直接打开jar文件!!

解决方案 »

  1.   

    draco2002(Draco),显然你低估了这个问题的难度。我的意思是我的applet中有个class需要调用位于其同一目录下的一个exe程序。在未打包前的JB中,我用getClass().getResource().getPath()能正常调用,然而在它们都被打进同一个jar包之后,这种获得路径的方式就不管用了。我搜索了以前的帖子,有点提示但是都说得不详细,希望高人指点!
      

  2.   

    一种方法是:把那个exe程序也打包进jar文件,这样可以使用getClass().getResouce("one.exe")访问。
    如果exe程序没打包进去,且与你的jar文件在同一目录下,则可以直接访问,如同new File("one.exe"),放到别的目录下面的话,加入相应的路径!
      

  3.   

    我现在觉得把其它文件打包进jar不太明智,请问能否在下载applet的同时,把我额外所需的文件自动下载到applet所在的jre\lib\ext中?
      

  4.   

    怎么没人回答?难道这种需求必须用JavaScript实现吗?
      

  5.   

    "com\\asianinf\\util\\文件"
    这是你的包路径对吧,打在JAR里,OK
    请看
                InputStream input =
                      this.getClass().getResourceAsStream
                                           ("/com/asianinf/util/你的XML文件");
                DocumentBuilder builder=factory.newDocumentBuilder();
                document=builder.parse(input);
    运行时有两种,这样做好后,一种是打包可运行JAR,双击,就可以运行,一种是许多人喜欢在JBUILDER里运行,OK,请把com\\asianinf\\util\\文件拷贝入(用手工)到你的jb工程下的classes目录下,目录和com\\asianinf\\util\\文件 这个完全一样,文件名也一样,这样就可以在JB中直接运行,不过不能点"rebuild",因为一点,这个文件又从CLASSES目录下消失了,一rebuild就要手工拷一次,而且打JAR包时,要"add file"进去,要不,JB也是不会自已把这个文件加进打包的JAR中的,OK?
      

  6.   

    lifetragedy(生活是场悲剧),谢谢你的回复,请问你这种方法只适用于访问打包成jar的applet中的XML文件吗?
      

  7.   

    可以使用于XML文件。下面是我参与的一个问题,供你参考。
    http://community.csdn.net/Expert/topic/3053/3053297.xml?temp=.6961786
      

  8.   

    stonefeng(浩),谢谢你提供的参考帖子,你说用java.net.JarURLConnection类也行,那么请问它也可以访问其他格式的文件吗?能否举个小例子?
      

  9.   

    可以访问任何格式的文件。
    请参看java.net.JarURLConnection的API文档,里面说了构造JarURLConnection的方法。
    构造好JarURLConnection的实例后,可以用getInputStream方法取得输入流,之后怎么做就随你了。
      

  10.   

    完全一样,我可以这么告诉你,不过你要动态的加POLICY
      

  11.   

    用URL定义的就可以访问jar里面的阿
    URL a = A.getResource("/a/a.txt");
    就可以用a作为句炳访问了