如果它被覆盖,则将每个新的char元素写入单个文件

时间:2017-12-05 15:50:36

标签: java

在运行时被我覆盖之前,我需要在.txt中写一些char元素。

我试过这样做:

public void keyTyped(KeyEvent keyEvent) {
    char c = keyEvent.getKeyChar();//this gets overwritten in runtime
    try {
        PrintWriter out = new PrintWriter("test.txt");
        out.print(c);
    } catch (FileNotFoundException x) {
        x.printStackTrace();
    }
}

但正如你可能猜到的那样,如果我键入" java",只有' a#39;(最后一个字符)将在test.txt中。此外,当键入" rrr"时,也需要保存相同的字母。 抱歉英语不好。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

来自OP在问题中的编辑:

解!

String s = "";//initializing a variable
s = s.concat(String.valueOf(c));//two-liner elegant solution!

我已经坚持了两天,所以如果你考虑的比我更多和/或找到更优雅或更有效的方式,请告诉我。

完整代码示例:

String s = "";
public void keyTyped(KeyEvent keyEvent) {
    char c = keyEvent.getKeyChar();
    String s = s.concat(String.valueOf(c));
    try {
        PrintWriter out = new PrintWriter("test.txt");
        out.print(s);
        out.close();
    } catch (FileNotFoundException x) {
        x.printStackTrace();
    }
}