搜寻了几个小时后,就开始对此完全取笑。我还在网站上看到了该问题的各种变体,但似乎无法使其正常工作。JFrame需要从ini文件中读取数据,并且我已经创建了一种打开该文件的方法。所述文件存储在jar文件内称为资源的文件夹中。
private BufferedReader openIniFile(String filename){
BufferedReader brReader = null;
try{
File fileObj = new File(this.getClass().getResource("/resources/" + filename).toURI()); // The fileobject of the file to read
if(fileObj.exists())
brReader = new BufferedReader(new FileReader(fileObj));
} catch(Exception e){
System.err.println("Exception while opening file: " + e.getMessage());
}
return null;
}
当我在编译后运行代码时,这当然可以完美地工作,但是在导出到.jar文件后会引发异常。我已经研究过使用InputStream,FileInputStream,但似乎找不到可行的解决方案。
如何使jar文件识别资源?
当您的资源位于JAR文件中时,它不再是File。文件只是文件系统上的物理文件。解决方案:使用getResourceAsStream。像这样:
new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/resources/" + filename)))
问题内容: 我需要能够访问存储在已编译jar文件中的文件。我已经弄清楚了如何将文件添加到项目中,但是如何在代码中引用它呢?如何将文件从jar文件复制到用户硬盘驱动器上的某个位置?我知道有很多方法可以访问文件(FileInputStream,FileReader等),但是我不知道如何查看自身。 问题答案: 您可以使用如下形式: 如果foo.txt位于JAR文件的根目录中,则可以使用: 我相信,假设该
问题内容: 嗨,我已经将我的Java项目导出为可执行jar文件。在我的项目中,我正在访问包含一些数据的Excel文件。现在,当我尝试访问Excel文件时,我将无法访问它。 我的项目结构是: Java_Project_Folder -src_Folder -resources_Folder(包含Excel文件) 我正在像访问Excel文件 我尝试使用以下方式访问此文件: 但是我进入的是空异常。有什么
问题内容: 我正在使用FlatPack来分析和加载平面文件中的数据。这需要加载一个配置文件,该文件存储平面文件各列的映射。 我有一个常量来定义映射文件的位置: 我有一个parse(File dataFile)方法实际上执行解析: 当我罐子了一切并运行它作为一个罐子-它炸弹出来了。该文件虽然在罐子里。 我该怎么办? 我已经看过这个问题以及关于访问jars中文件的问题,他们都建议暂时提取文件。我不想这
问题内容: 我有一个带有工具栏的Java项目,该工具栏上带有图标。这些图标存储在名为resources /的文件夹中,因此路径可能是“ resources / icon1.png”。该文件夹位于我的src目录中,因此在编译后,该文件夹将被复制到bin / 我正在使用以下代码访问资源。 (imageName将为“ resources / icon1.png”等)。在Eclipse中运行时,效果很好。
我正在使用Maven Shade为一个Jetty项目创建一个shaded.jar文件。这个项目包括一些资源文件(文本属性文件),我想阅读。 如何访问上述。jar文件中的文件? 从文件提取工具查看jar中的当前文件夹结构如下所示: 我想访问名为的组合jar文件根中的文件。我想从创建的java类访问这个文件。 这里问到的关于访问jar文件的问题是:jar文件中的访问文件? 不能使用,因为它们不使用带阴
我有一个资源文件夹/包在我的项目的根,我"不"想要加载某个文件。如果我想加载某个文件,我会使用class.getResourceAsStream,我会没事的!!我实际上想做的是在资源文件夹中加载一个“文件夹”,循环该文件夹中的文件,并获得每个文件的流,并在内容中读取...假设在运行时之前没有确定文件名...那我该怎么办?有没有一种方法来获得一个文件夹中的文件列表在您的jar文件?请注意,带有资源的