Java将每个值添加到字符串中
我有一个非常大的程序,需要检查输入的字符,这只是坏掉的部分的一部分。所以,当我让它记录每个字符的输入时,它就起作用了。但是,当我尝试将每个字符添加到字符串中时,当他们键入单词hi时,结果如下所示:Java将每个值添加到字符串中,java,keylogger,Java,Keylogger,我有一个非常大的程序,需要检查输入的字符,这只是坏掉的部分的一部分。所以,当我让它记录每个字符的输入时,它就起作用了。但是,当我尝试将每个字符添加到字符串中时,当他们键入单词hi时,结果如下所示: hi 而不是 h i 无论我尝试什么,它都会给我键入的第一个值,并且不会将每个字符添加到字符串中。我还希望它每隔5秒打印一次字符串。我不确定我是否正确,但它可能是正确的 String log = " "; if(event.getVirtualKey
hi
而不是
h
i
无论我尝试什么,它都会给我键入的第一个值,并且不会将每个字符添加到字符串中。我还希望它每隔5秒打印一次字符串。我不确定我是否正确,但它可能是正确的
String log = " ";
if(event.getVirtualKeyCode() == GlobalKeyEvent.VK_SPACE){
log = log + "";
}
if(event.getVirtualKeyCode() == GlobalKeyEvent.VK_BACK){
log = log + "[BACKSPACE]";
}
String timestamp = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss").format(Calendar.getInstance().getTime());
while(true){
try {
Thread.sleep(5000);
System.out.println("[" + timestamp + "]" + log);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
尝试声明新字符串:
String log = new String(" ");
在哪里添加这些字符?log=log+“”;和log=log+“[退格]”;假设,当您运行这行时,log=“M”:log=log+“”=>log=“M”+“”,即log=“M”,字符是如何进入日志的?
log=log+“”
是一种浪费。此外,还可以在每个字符后打印(根据代码)。因此,如果这不是您想要的,则需要两个线程。一个向生成器添加字符串,另一个在清除该生成器并打印日志之前等待5秒