没试过import path然后直接读可不可以的:)要不在程序里做解压处理肯定是可以的,就是太麻烦了。

解决方案 »

  1.   

    应该可以把,自己写个Manifest文件,在其中指定xml文件
      

  2.   

    //jar-将Applet的辅助文件加入Jar,并使用.txt
    文件清单:
    f:\java\AppletJar.java
    f:\java\manifest.mf
    f:\java\web.html
    f:\java\XJTU\citi\AppletJar.class        
    f:\java\XJTU\citi\sonnet.xml1、Applet源程序
    //: AppletJar.java
    // Very simple applet
    package xjtu.citi;
    import java.awt.*;
    import java.applet.*;
    import java.io.*;public class AppletJar extends Applet {
      public void paint(Graphics g) {    
        try{           
          //获得辅助文件的输入流
         InputStream is = this.getClass().getResourceAsStream("sonnet.xml");
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
          byte[] buf = new byte[1024];
          int i;
          String str;
          do{
            i = is.read(buf);
            if (i != -1)
              baos.write(buf, 0, i);
            System.out.println(i);
          }while (i != -1);
          is.close();
          //由于原文件是文本文件,将字节转换成String方便使用(如XML解析等)
          str=new String(baos.toByteArray());
         g.drawString(str, 20, 30);
        }catch(Exception e){e.printStackTrace();}           
      }
    } ///:~2、manifest.mf:
    Manifest-Version: 1.0
    Main-Class: xjtu.citi.AppletJar
    Created-By: tangshancheng3、web.html
    <head><title>My Example Applet
    </title></head>
    <body>
    <applet code="xjtu.citi.AppletJar.class" 
            archive="appletjar.jar" 
            width=600 height=200>
    </applet>
    </body>4、编译、Jar
    F:\java>javac AppletJar.java -d .F:\java>jar cvfm appletjar.jar manifest.mf xjtu
    标明清单(manifest)
    增加:xjtu/(读入= 0) (写出= 0)(存储了 0%)
    增加:xjtu/citi/(读入= 0) (写出= 0)(存储了 0%)
    增加:xjtu/citi/AppletJar.class(读入= 1056) (写出= 669)(压缩了 36%)
    增加:xjtu/citi/sonnet.xml.bak(读入= 119) (写出= 101)(压缩了 15%)
    增加:xjtu/citi/sonnet.xml(读入= 115) (写出= 96)(压缩了 16%)5、使用浏览器查看web.html