我想在不使用整个文件路径的情况下从包中读取所有文件。例如,我可以使用这样的东西来获取目录中的所有文件。
new File("/Users/me/Documents/workspace/testing/src/main/java/resources/").listFiles()
当我在intellij中有一个看起来像这样的包时:
main
- java
--com.testFile
--resources
我读到了这个:Read file from a folder inside the project directory。但是我希望能够在不指定整个路径的情况下执行此操作。
例如,这里解释: How to read a file (e.g txt file) from another java package withouth specifying the absolute path?
我以为我可以做点什么
“src / main / java / resources”但我尝试的每个组合在插入时都失败了:
new File("/Users/me/Documents/workspace/testing/src/main/java/resources/").listFiles()
我可以发誓我之前就这样做了吗?我犯了一个愚蠢的错误吗?
截至目前,它无法找到该文件。它是从java文件中的文件运行的 - > com.thisproject /应用
例如,我看到了:
File folder = new File("src/");
File[] listOfFiles = folder.listFiles();
将listOfFiles设为null。
答案 0 :(得分:2)
...解决 这实际上有点怪异。我在网上找到的所有东西都说参考src / main等...这是我的文件路径。
但是我可以通过以下方式访问它:
new file("java/resources").listFiles();
完美无缺。如果我尝试以下任何组合:
new file("/java/resources").listFiles();
new file("main/java/resources").listFiles();
new file("src/main/java/resources").listFiles();
他们都失败了。
对于系统信息,我使用intellij,Mac OS,我正在使用intellij创建的webapp。不确定这是否有所作为。
如果有人知道src / ...为什么不起作用,我很乐意知道。
答案 1 :(得分:1)
这适用于在Windows操作系统上运行的eclipse:
System.out.println(new File("src/").listFiles().length); // printing the no. of files for checking.
所以,对你而言,它将是:"src/main/java/resources/"
。