从键盘读取输入并写入文件

时间:2013-07-30 10:01:47

标签: java file keyboard

从系统读取所有键盘按键值并写入文件,不仅从控制台,系统的整个输入,如按键盘按键,按键按键等等。

3 个答案:

答案 0 :(得分:1)

不,你无法捕获java程序之外的关键事件。

如果要执行此操作,则必须通过C / C ++库使用OS挂钩。

如果你真的想在Java中使用它,你仍然可以使用JNI包装C代码......

这是一个blog,解释了如何在Windows上执行此操作。

  

我们记得,Java允许捕获键或键组合的键盘事件,但这只适用于此时Java应用程序框架或控制台处于活动状态,但是如果用户打开或选择antoher窗口,键盘事件将无法到达我们的Java应用程序。每个应用程序都有自己的事件(消息)队列,除非应用程序窗口(控制台)处于活动状态,否则键盘事件将被发送到此队列。

答案 1 :(得分:1)

这样的东西?

            Scanner sc=new Scanner(System.in);
            String s=sc.nextLine();
            FileWriter fw = new FileWriter("/file.txt");
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(s);
            bw.flush();
            bw.close();

答案 2 :(得分:-1)

在JVM中运行Java的唯一目的是出于安全原因防止这种情况。这就是为什么你需要C / C ++来编写一个密钥记录器,因为Java无法到达JVM之外。

如果您想从应用中记录密钥:

详细了解KeyListeners(javadoc

关于文件撰写(example

可能是Listening for input without focus in Java

的副本