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

问题是,每个命令都会覆盖最后一个命令,所以我无法保存在命令 shell 会话期间编写的每个命令。我需要的是我写的所有命令的列表。

我已经用谷歌搜索了大约 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 回答