Java Robot在一段时间后无法正常工作

Java Robot在一段时间后无法正常工作,java,Java,我写了一个程序,可以模拟用键盘写字。 我用java机器人来做这个。 为了不止一次地编写它,我将它放入for循环中 100次就可以了 但当我在最后做了1000次时,机器人就不再写设定的文本了 这是它的代码 package robot; import java.awt.event.KeyEvent; import java.awt.Robot; import java.awt.AWTException; public class keyrobot { private static Robo

我写了一个程序,可以模拟用键盘写字。 我用java机器人来做这个。 为了不止一次地编写它,我将它放入for循环中 100次就可以了 但当我在最后做了1000次时,机器人就不再写设定的文本了

这是它的代码

package robot;
import java.awt.event.KeyEvent;
import java.awt.Robot;
import java.awt.AWTException;

public class keyrobot {
    private static Robot robot;
    public static void main(String[] args) throws AWTException {
         robot= new Robot();
         write();
    }
    private static void write() throws AWTException {
        robot.delay(5000); //time for changing the application
        for(int i=0;i<1000;i++){ //1000 x "asdfasdf"
        robot.keyPress(KeyEvent.VK_A);
        robot.keyRelease(KeyEvent.VK_A);
        robot.keyPress(KeyEvent.VK_S);
        robot.keyRelease(KeyEvent.VK_S);
        robot.keyPress(KeyEvent.VK_D);
        robot.keyRelease(KeyEvent.VK_D);
        robot.keyPress(KeyEvent.VK_F);
        robot.keyRelease(KeyEvent.VK_F);
        robot.keyPress(KeyEvent.VK_A);
        robot.keyRelease(KeyEvent.VK_A);
        robot.keyPress(KeyEvent.VK_S);
        robot.keyRelease(KeyEvent.VK_S);
        robot.keyPress(KeyEvent.VK_D);
        robot.keyRelease(KeyEvent.VK_D);
        robot.keyPress(KeyEvent.VK_F);
        robot.keyRelease(KeyEvent.VK_F);
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);

        }


    }

}

我打赌一定有缓冲区溢出发生。尝试向循环中添加延迟:

Thread.sleep(1);
可能需要测试更高的值

或者查看您的代码:

robot.delay(1);

我解决了你必须使用的问题

robot.delay(10);

在循环中

现在输出已更改;但问题仍然存在,这就是为什么我说:“可能必须测试更高的值。”
robot.delay(10);