我使用机器人类来捕获并将文件保存在xp中的C:驱动器上。它工作正常,但当与Windows 7一起使用时,我得到异常,说访问被拒绝,使用本机方法访问文件。
是因为我使用C:驱动器而不是系统tmp目录或其他东西? 我没有Windows 7来测试它,这就是为什么要问。
代码是这样的:
Dimension screenSize;
Rectangle screenRectangle;
BufferedImage image;
for (int i=0; i<j; i++){
img[i] = "C:\\"+(i+1)+".jpg"; //e.g 1.jpg saved in C: drive on 1st itr.
screenSize = Toolkit.getDefaultToolkit().getScreenSize();
screenRectangle = new Rectangle(screenSize);
image = robot.createScreenCapture(screenRectangle);
ImageIO.write(image, "jpg", new File(img[i]));
}
答案 0 :(得分:3)
在Windows 7中默认关闭根目录的写入权限。您可以将代码更改为
img[i] = (i+1)+".jpg";
将屏幕捕获图像写入您启动jvm的同一目录。