我用eclipse创建了一个可运行的jar。在我的项目中,我有一个名为问卷的文件夹,其中包含我使用的一些文本文件。当我运行我的runnable jar时它不起作用,除非我和jar文件夹问卷在同一个文件夹中。我尝试了一些我在stackoverflow中读取的解决方案,例如添加文件夹问卷作为源文件夹以及属性 - > java构建路径 - > libraries - >添加类文件夹并添加问卷文件夹,但仍无效。
这是代码:
File srcFolder = new File(".\\questionnaire");
if(!srcFolder.exists()){
System.out.println("Directory does not exist.");
//just exit
System.exit(0);
}
每次我收到消息“目录不存在”。此外,当我解压缩jar时,没有文件夹问卷
答案 0 :(得分:2)
要将文件夹“问卷调查”添加到您的jar中,您需要将“问卷调查”的父目录设置为源文件夹。
然后,你的jar中会有一个问卷“文件夹”。但是,您将无法通过File API访问它,因为它不是常规文件夹,而是jar中的条目。如果您只需要从该文件夹中读取文件,请查看Class.getRessourceAsStream(String)方法。
答案 1 :(得分:1)
在jar中导出文件夹不是一个好主意。此外,如果以某种方式导出它们,则无法访问该文件夹的文件。您再次需要使用JarFile类来读取该文件夹的内容。
你可以做的一件事是创建没有文件夹里面的jar。 使用此行
File srcFolder = new File("questionnaire");
当您运行jar时,请确保jar和问卷文件夹位于同一目录中。这将有效地工作。
阅读此thread