如何更新在java中修改的打开文件?

时间:2014-12-07 07:25:36

标签: java file file-handling

我正在进行一个言语到文本项目,在那里我应该创建一个文本编辑器,当有人说话时键入。我所做的是当有人说话时,使用

将其附加到文件中
File file = new File("C:\\Users\\User\\Desktop\\voice_type_test.txt");
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(file, true)));
writer.append("Text to be appended.");
writer.close();

问题陈述:文件被修改完美,但它不会更新打开的窗口及其内容。这很明显!我想要一种方式,以便它也可以更新打开的.txt文件。因为每次添加新行时读取文件都不是一个可行的选择!

示例

文件内容为:(在开放文本编辑器和硬盘文件中)

ABCDEFGHIJKLMNO

修改后的文件内容:

(在硬盘上)

ABCDEFGHIJKLMNO 要附加的文字。

(在屏幕编辑器上)

ABCDEFGHIJKLMNO

[编辑]

更新:屏幕编辑器/文本编辑器是指任何文本编辑器,无论是记事本,写字板,Word,Eclipse的代码区等。

1 个答案:

答案 0 :(得分:0)

另一种解决方案。考虑使用java.awt.Robot。这将使用焦点将输入发送到当前窗口,因此应该可以处理任何事情。

Robot robot = new Robot();
Thread.sleep(1000);
String helloWorld = "Hello world";
for (char c : helloWorld.toCharArray()) {

    if (Character.isUpperCase(c)) {
        robot.keyPress(KeyEvent.VK_SHIFT);
    }
    robot.keyPress(Character.toUpperCase(c));
    robot.keyRelease(Character.toUpperCase(c));

    if (Character.isUpperCase(c)) {
        robot.keyRelease(KeyEvent.VK_SHIFT);
    }
}