我正在创建一个键盘记录,并且keylog的代码在一个类中扩展了Thread。我把一个布尔运行像变量,我有这个代码:
public void run() {
while(running)
try {
Config conf = new Config();
System.setOut(new PrintStream(new File("keylog/output-file.txt")));
GlobalScreen.registerNativeHook();
GlobalScreen.getInstance().addNativeKeyListener(new Keylog(conf));
} catch (FileNotFoundException | NativeHookException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我有另一个void方法来停止线程
void stopKeylog() {
running=false;
}
但是,当我停止线程时,我会看到输出txt文件并且有bug。
当我删除while(running)
输出时,效果非常好。
答案 0 :(得分:0)
如果有帮助,很少有快速输入: 1.让运行变得不稳定 2.关闭PrintStream(不确定它是否有帮助)