从JAR读取/写入.txt文件

时间:2014-12-05 22:48:47

标签: java jar javafx-2 java-io

目前我正在开发一个java应用程序来进行调查。我想读取/写入.txt文件,创建.csv来存储输入的数据。下面是我到目前为止用于编写数据的代码 - 当然这使得JAR文件不可移植,因为它具有绝对路径。

File file = new File("C:/Files/JavaApp/src/text.text/");
FileWriter fw = null;
BufferedWriter bw = null;
try {
    fw = new FileWriter(file, true);
} catch (IOException e) {
    System.out.println(e.getMessage());
}
bw = new BufferedWriter(fw);
try {
    bw.write("blah" + ",");
} catch (IOException e) {
    System.out.println(e.getMessage());
}
try {
    bw.newLine();
} catch (IOException e) {
    System.out.println(e.getMessage());
}
try {
    bw.close();
} catch (IOException e) {
    System.out.println(e.getMessage());
}

我尝试了几种方法,例如ClassName.class.getResource("Text.text");,但它总会返回一个Reflection或一个NullPointer错误。

我知道写入JAR中的文件确实会带来一些问题,这意味着我必须指向外部的文件来读/写。但是我不知道如何在代码中预先形成这个。我需要JAR文件完全可移植。即使这意味着它必须保存在目录中,因此JAR可以在该目录中搜索.txt文件。或者,还有另一种方式吗?

如果有人能帮助我,我将非常感激。

1 个答案:

答案 0 :(得分:1)

从Jar文件中读取:How to read a file from jar in Java?

该文件是存档文件。它是一个扩展名为.jar的zip文件。你不应该写它。如果jar文件已签名(安全预测),则无法写入。更改文件中的单个位将使其无效。

你应该做的是在Jar中存储一个默认文件并将其加载到" user.home"文件夹,如果它还没有。

相关问题