我想进行一个导入,查看文件夹内部并循环查找那里找到的文件然后导入内容。
在我的项目中,我有src / main / resources下的文件夹,但是在实际的jar中它将被打包为根目录下的文件夹(不在资源文件夹中)所以我不知道如何获取文件夹路径只给出它的名字。
我尝试过getResources并将文件夹名称作为字符串传递,并尝试使用类似File folderPath = new File("./import")
(使用相对路径)但不起作用。
建议的帖子和我之间的区别在于那里的文件夹路径是已知的(它是一个固定的硬编码位置)我需要根据类加载或类似的东西找到它
下面是我正在使用的代码
public static final String IMPORT_FILES_LOCATION ="import"; //folder name
Enumeration<URL> folderURL = null;
try {
folderURL = getClass().getClassLoader().getResources(IMPORT_FILES_LOCATION);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (folderURL != null && folderURL.hasMoreElements()) {
File folderFile = new File(folderURL.nextElement().getPath());
File[] filesToImport = folderFile.listFiles();
if(filesToImport.length > 0) {
for (File fileToImport : filesToImport) {
System.out.println("import stuff");
}
}
}
任何想法/建议?
谢谢
答案 0 :(得分:0)
我通过添加配置文件属性来解决此问题,其中存储了导入文件夹位置。提示用户输入位置,如果该字段为空,则提供默认值(我们有用于安装模块的GUI)
它仍然无法解决最初的问题,但它是一种有效的解决方法。希望它有所帮助