0

我在 javaproject 的包中有文件,我想迭代里面的所有文件。实际上,我在代码中手动编写了一个字符串数组,其中包含文件名。我怎样才能动态地做那个数组?

在此处输入图像描述

4

1 回答 1

0

有几种方法可以做到这一点。我推荐这种方法:

编写一个单元测试,列出磁盘上目录中的所有文件,并将列表与代码中的字符串数组进行比较。如果发现不匹配,它应该在控制台上打印正确的代码并失败。

这样,测试将确保文件列表是正确的。如果它不再正确,简单的剪切和粘贴将修复它。

另一种方法是检查类加载器,尝试创建 URL 并遍历包中的文件。这样的代码很脆弱,当在 Web 服务器上运行应用程序或使用不同的 Java 实现时,往往会以令人惊讶的方式失败。不要去那里。

另一种解决方案是在安装过程中将文件放入“config”文件夹。然后您的应用程序可以使用标准文件 API 来列出/定位它们。

编辑我的立场得到纠正。您可以枚举包中的文件:

Enumeration<URL> urls = getClass().getClassLoader().getResources( "javaapplication4/myfiles" );

对于上面的示例,这应该返回三个 URL。

于 2013-05-02T07:50:08.443 回答