В настоящее время я разрабатываю приложение Java для проведения опроса. Я хочу читать/записывать в .txt-файл, создавая .csv для хранения введенных данных. Ниже приведен код, который я использовал до сих пор для записи данных. Конечно, это делает JAR-файл не переносимым, поскольку он имеет абсолютный путь.Чтение/запись в .txt файл из 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 в этом каталоге. Или, есть ли другой способ?
Если кто-нибудь может мне помочь, я был бы очень благодарен.
не знаю, можете ли вы использовать его для этого, но попробуйте пакет java.util.jar (http://docs.oracle.com/javase/7/docs/api/java/util/jar/package -summary.html) – herrlock
, а также прочитать этот ответ http://stackoverflow.com/a/5052359/3680684 – herrlock
Непонятно, что задают. Единственный вопрос в этом посте: «Или, есть другой способ?». Чего ты хочешь достичь? – VGR