В настоящее время я создаю проект, который имеет систему имени пользователя и пароля, которая использует текстовые файлы. Чтобы попытаться сохранить мой проект, они находятся в одной и той же папке netbeans. Тем не менее, файлы, которые находятся там, находятся под src\classes\prototype1\textFiles
, но файлы, редактируемые при добавлении пользователя, находятся под build\classes\prototype1\textFiles
. Проблема заключается в том, что всякий раз, когда я перезапускаю netbeans, он идет только с исходных данных, которые у меня есть в папке src
, а не на отредактированных данных из папки build
.Редактирование исходных файлов Java
Код я использовал:
try {
File f = new File(getClass().getResource("textFiles\\PasswordScreen.txt").toURI());
f.setWritable(true);
FileWriter w = new FileWriter(f);
BufferedWriter writer = new BufferedWriter(w);
wipeFile(f);
for (int i = 0; i <= length; i++){
writer.write(user[i].getUsername());
writer.newLine();
writer.write(user[i].getPassword());
writer.newLine();
writer.write(Integer.toString(user[i].getState()));
writer.newLine();
writer.write("-");
writer.newLine();
}
writer.close();
f.setReadOnly();
} catch(Exception e){System.out.println("error writing to file");}
Все, что под 'src /' является чисто Java-кодом для компиляции. Вы не должны размещать там какие-либо файлы ресурсов. –
Почему вы редактируете файл в папке 'build'? После того, как вы развернете код в файле .jar, файл не будет * * * файлом на жестком диске. Любой файл, который вы редактируете, должен быть * вне * иерархии кода приложения. – Andreas
Ресурсы следует рассматривать только для чтения. Приложения обычно поставляются как .jar-файлы, и в этом случае вы не сможете писать на ресурс, потому что это не будет отдельный файл. (Кроме того, 'getResource' использует косые черты ('/') как разделители файлов на всех платформах, аргумент по существу является относительным URL.) – VGR