我正在尝试创建一个thread
将创建一个text file
并将使用键侦听器编写在计算机上键入的每个字符但我不知道如何将创建的文件附加到用户将输入的下一个字符.....可能是我让每个人都感到困惑,但我只想存储用户将输入的每个字符(通过键盘)
就像每当我执行我的应用程序时,它都会创建一个文件并开始将其keychar
写入该文件。
我正在尝试创建一个thread
将创建一个text file
并将使用键侦听器编写在计算机上键入的每个字符但我不知道如何将创建的文件附加到用户将输入的下一个字符.....可能是我让每个人都感到困惑,但我只想存储用户将输入的每个字符(通过键盘)
就像每当我执行我的应用程序时,它都会创建一个文件并开始将其keychar
写入该文件。
这个问题有点不清楚。首先,如果您想存储在系统上键入的每个字符,那么这是一项艰巨的任务(稍后解释)。如果您想在顶部的 Java 窗口中注册击键,那么您可以通过不关闭文件并附加到相同的writer
.
因此它将继续附加到它。但请确保,所有关键处理都发生在SwingUtilities.invokeLater()
.
现在,如果要完成所有任务,它适用于任何窗口。然后它很乏味,首先因为您需要操作系统支持它。您将不得不使用JNI
或最好使用JNA
. 对于 Windows,这将有所帮助。我不清楚要使用哪个合适的功能,但您会在这里找到所有需要的功能(尽管您需要先查看 win32 api)
private final User32 lib = = User32.INSTANCE;
//lib.appropriateMethod
对于 Mac,使用Carbon Framework(已弃用)或Cocoa
.
这就是痛苦,如果你用 Java 做的话