0

私はコマンド シェルを構築しています。このコマンド シェルでは、書き込んだすべてのコマンドをファイルに保存したいと考えています。

次のようなコマンドを読みます。

    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);
    }        
}

問題は、すべてのコマンドが最後のコマンドを上書きするため、コマンド シェル セッション中に書き込まれたすべてのコマンドを保存できないことです。必要なのは、私が書いたすべてのコマンドのリストです。

これを約2時間グーグルで検索しましたが、何も見つかりません。助けてください。

4

2 に答える 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. 
于 2013-04-29T19:39:19.503 に答える
0

すべてのコマンドをグローバル配列に保持し、それにすべての新しいコマンドを追加してから、配列内のすべての値をファイルに書き込みます。または、ファイルを読み取り、新しい値を追加して、すべてをファイルに再度書き込みます

于 2013-04-29T19:33:32.457 に答える