如何使用java应用程序保存打开未保存的记事本文件

时间:2015-12-09 10:51:05

标签: java

如何使用java保存未保存的记事本文件? 记事本文件不是由我的程序创建的。 并且条件是只打开了一个记事本文件。 我使用过Process和Runtime类但无法理解如何保存文件,因为我不知道文件的路径。

1 个答案:

答案 0 :(得分:0)

一些帮助,但在C / C ++ / C#中执行它会更加健壮!

1你必须找到你的记事本应用程序。

这很容易,而且确定。请参阅:Find out what application (window) is in focus in Java

您可以使用JNI或JNA。

2如果你知道你的应用在哪里,发送一个ctrl ^ s:看到这个用于向应用发送击键。如果当前内部没有任何操作,它可以工作:

Robot robot = new Robot();
robot.mouseMove(100, 100);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
 robot.keyPress(KeyEvent.VK_CONTROL);
 robot.keyPress(KeyEvent.VK_S);
 robot.keyRelease(KeyEvent.VK_S);
 robot.keyRelease(KeyEvent.VK_CONTROL);

How to programmatically send a key event to any window/process in a Java App?

请注意:

  • 如果记事本在屏幕前方,它可以正常工作。否则
  • 如果文件已有名称,则可以使用。如果没有,它只打开一个对话框来选择文件。您也可以发送文件名。