2013-04-29 93 views
0

我正在構建命令shell,並且在此命令shell中我想保存寫入文件的每個命令。將輸入保存到文件

我讀命令,就像這樣:

BufferedReader console = new BufferedReader(new InputStreamReader(System.in)); 
    commandLine = console.readLine(); 

我寫入文件是這樣的:

public static void fileWriter(String e){ 
    try{ 
     BufferedWriter bw = new BufferedWriter(new FileWriter("errorLog.txt")); 
      bw.write(e); 
      bw.flush(); 
      bw.close(); 
    } 
    catch(IOException ex){ 
     System.out.println(ex); 
    }   
} 

的問題是,每個命令覆蓋上一個,所以我不能保存過程中寫的每一個命令命令shell會話。我需要的是我寫的所有命令的列表。

我一直在谷歌這約2小時,我無法找到任何東西。請幫忙。

回答

1

寫的一切文件使用

BufferedWriter bw = new BufferedWriter(new FileWriter("errorLog.txt",true)); 

true告訴FileWriter的追加數據,而不是覆蓋。請參閱文檔。

public FileWriter(String fileName,boolean append) throws IOException 

Constructs a FileWriter object given a file name with a boolean 
indicating whether or not to append the data written. 
+0

這樣的事情我一直在尋找,但這只是給了我一個錯誤'找不到合適的構造函數'編輯:仍習慣於在記事本中編碼:P這種工作,當我再次啓動命令shell時,我想讓文件重置 – 2013-04-29 19:41:42

+0

您能否檢查一下您的語法是否與我在上面的語法完全匹配? – CodeBlue 2013-04-29 19:44:22

+0

我在編寫這個之前編輯了^^我的語法錯了,我錯過了一個「)」 – 2013-04-29 19:48:48

0

我會將每個命令保存在一個全局數組中,然後向它添加每個新命令,然後將數組中的每個值寫入您的文件。 或閱讀文件,添加新的價值,並再次

+0

你想到了,但認爲可能有更好的辦法。但要現在照顧累,就會試試:) – 2013-04-29 19:39:19