0

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

  • Block_Breaker <--项目
    • 建造
    • 距离
      • Block_Breaker.jar
    • NB项目
    • 源代码
      • packageONE
      • 包二
        • 数据.txt
    • 清单文件
    • 小程序策略
    • 构建.xml

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

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

PrintWriter pr=new PrintWriter(x);

但是,如果我运行 netbeans 创建的 jar 文件,它就不起作用。

4

2 回答 2

2

一旦将其打包到 jar 文件中,您就无法写入该文件。

然而,仍然可以使用以下方法之一进行读取:

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

女巫为您提供了一个InputStream女巫,您可以使用它来检索文件的内容。

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

有关javadocgetResourceAstream中的更多信息

于 2013-06-07T14:30:05.463 回答
0

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

请用于ClassLoader.getResource加载资源。

于 2013-06-07T14:09:24.893 回答