将输入保存到文件

时间:2013-04-29 19:31:19

标签: java file io command

我正在构建一个命令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个小时,我找不到任何东西。请帮忙。

2 个答案:

答案 0 :(得分: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. 

答案 1 :(得分:0)

我将每个命令保存在一个全局数组中,并将每个新命令添加到它,然后将数组中的每个值写入您的文件。 或者读取您的文件,添加新值,然后再将所有内容写入文件