0

我正在编写一个 Java Applet,它需要列出服务器目录中的 ZIP 文件,并让用户选择要加载的 ZIP 文件。

我阅读文件的方式:

  1. 创建一个java.io.File对象来保存该 ZIP 文件
  2. 用来java.util.zip.ZipFile读取里面的数据

我解决这个问题的第一种方法是在服务器的applet jar 文件的同一目录中创建一个文件夹,然后将这些ZIP 文件放在那里。

位置类似于图表的a.gif

起初我试图阅读整个目录并得到一个错误。

  • java.security.AccessControlException:访问被拒绝(java.io.FilePermission\Data 读取)

在网上我发现applet没有这个功能,所以我试着只读取一个特定的文件,但不知何故,仍然有错误。

  • java.security.AccessControlException:访问被拒绝(java.io.FilePermission\Data\pack1.zip 读取)

我试着用谷歌搜索这个问题,似乎java.io.File服务器上的类读取文件有问题。所以我采用不同的方法。


我尝试的第二种方法是启动 FTP 服务,允许该小程序获取这些 ZIP 文件。

我使用 Apache Commons Net 来处理 FTP。

小程序能够连接到 FTP 服务器,但在FTPClient.listFile()调用日志时显示错误。

  • java.security.AccessControlException:访问被拒绝(java.util.PropertyPermission org.apache.commons.net.ftp.systemType 读取)

我知道沙盒小程序有很多限制,但是从甲骨文的文档看来,沙盒小程序应该能够从它起源的服务器中检索资源,所以我对如何读取该文件夹感到很困惑来自我未签名的小程序的 ZIP 文件。另外,如果你们对解决此问题的更好方法有任何建议,那就太好了。

仅供参考,服务器运行的是 Windows Server 2003,我使用 JDK 6 开发小程序。

4

0 回答 0