假設你的狀態數組不爲空,這段代碼將工作,但該文件的文本文件將在編譯/輸出目錄
所以在源目錄中的文本文件,將不會更新更新,但輸出目錄中的那個將會。
還要注意的是FileWirter的構造函數,你正在使用將覆蓋該文件的內容,所以你應該使用一個與append參數:
public FileWriter(String fileName, boolean append) throws IOException
編輯:如果你真的需要更新文件在src目錄中,你可以像這樣做。
不是真的不錯,但這種將工作
public void updateF()throws Exception
{
String fileName = "valS.txt";
File fileInClasses = new File(getClass().getResource(fileName).getFile());
System.out.println(fileInClasses.getCanonicalPath());
File f = fileInClasses;
boolean outDir = false;
// let's find the output directory
while(!outDir){
f = f.getParentFile();
outDir = f.getName().equals("out");
}
// get the parent one more time
f = f.getParentFile();
// from there you should find back your file
String totoPath = f.getPath()+"/src/com/brol/" + fileName;
File totoFile = new File(totoPath);
BufferedWriter outputWriter = null;
outputWriter = new BufferedWriter(new FileWriter(totoFile, true));
outputWriter.append("test");
outputWriter.flush();
outputWriter.close();
}
有沒有錯誤?異常? – Keerthivasan
沒有更新文件:( – rick
我認爲這行「getClass()。getResource(」valS.txt「)。getFile()」有一些問題 – rick