我正在构建一个命令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个小时,我找不到任何东西。请帮忙。
答案 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)
我将每个命令保存在一个全局数组中,并将每个新命令添加到它,然后将数组中的每个值写入您的文件。 或者读取您的文件,添加新值,然后再将所有内容写入文件