如何在netbeans build jar文件中访问文本文件?

时间:2013-06-07 14:04:49

标签: java netbeans jar

所以目前我的netbeans项目文件夹如下所示:

  • Block_Breaker< - 项目
    • 构建
    • DIST
      • Block_Breaker.jar
    • nbproject文件
    • SRC
      • packageONE
      • packageTWO
        • data.txt中
    • MANIFEST.MF
    • applet.policy
    • 的build.xml

我想知道如何访问packageTWO中的data.txt文件(当我通过jar文件而不是netbeans运行Block_Breaker时)。通常,如果通过netbeans运行,则以下代码将起作用:

FileWriter x=new FileWriter("src/packageTWO/data.txt");

PrintWriter pr=new PrintWriter(x);

但是,如果我运行一个netbeans创建的jar文件,它就无法工作。

2 个答案:

答案 0 :(得分:2)

将文件打包到jar文件后,您无法写入该文件。

然而,使用以下方法之一仍然可以阅读:

<YourClass>.class.getClassLoader().getResourceAsStream("packageTWO/data.txt");
// or
this.getClass().getResourceAsStream("/packageTWO/data.txt");

女巫会给你一个InputStream女巫,你可以用它来检索文件的内容。

如果您需要访问该文件,那么最简单的方法不是将其打包到jar中,而是将其独立放在文件系统的某个位置。

javadoc

中关于getResourceAstream的更多信息

答案 1 :(得分:0)

这是因为您的.jar文件不包含名为src/

的文件夹

请使用ClassLoader.getResource加载资源。