0

我正在开发从一个特定文件夹(我们称之为“数据文件夹”)读取数据文件的小程序。文件的数量和它们的名称会随着时间而改变,所以我不想将它们硬性地添加到代码中。我希望能够列出存储在该文件夹中的所有文件(注意:文件夹与小程序存储在同一台服务器上)。我尝试使用 Files.walkFileTree 方法来做到这一点。当我在 Eclipse 中运行它时它工作得很好,但我得到了 AccessControlException:

java.security.AccessControlException: access denied ("java.io.FilePermission" "Data folder" "read")

当我尝试在浏览器中运行时。

我可以看到为什么 jvm 会限制小程序列出本地计算机上的文件,但是否可以列出存储在服务器上的文件?

4

1 回答 1

2

您必须区分客户端和服务器端代码。您的小程序在客户端执行,因此无法直接使用Files.walkFileTree(). 您可以做的是实现一个服务(如 REST 服务或简单的 servlet)并在 Tomcat 或 Jetty servlet 容器中的服务器端运行它,然后从您的小程序调用此服务。但要小心确保您的服务安全,以免每个人都看到您服务器的整个文件系统。

于 2013-02-08T17:05:38.740 回答