我目前正在製作一個項目,它有一個使用文本文件的用戶名和密碼系統。要嘗試保持我的項目組織,它們位於相同的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