在java中截取屏幕截图并将其保存在桌面上

时间:2016-09-15 09:22:34

标签: java screenshot

我编写了一个代码来捕获Windows 7中java的截图。 此屏幕截图保存在我的工作区中。

我希望将此屏幕截图直接保存到桌面。

import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;     
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import javax.imageio.ImageIO;

public class FullScreenCaptureExample {

    public static void main(String[] args) {
        try {
            Robot robot = new Robot();
            String format = "jpg";
            String fileName = "FullScreenshot." + format;

            Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
            BufferedImage screenFullImage = robot.createScreenCapture(screenRect);
            ImageIO.write(screenFullImage, format, new File(fileName));

            System.out.println("A full screenshot saved!");
        } catch (AWTException | IOException ex) {
            System.err.println(ex);
        }
    }
}

1 个答案:

答案 0 :(得分:-1)

如果您希望将其保存在桌面上,则表示您没有使用正确的文件名。它应包括桌面路径。例如,您可以通过以下方式访问您的桌面:C:\Users\UserName\Desktop,然后您应该替换以下语句:

String fileName = "FullScreenshot." + format;

使用:

String deskTopPath = "C:\\Users\\UserName\\Desktop";
String fileName = deskTopPath + "\\" + "FullScreenshot." + format;

注意:如果你想拍摄并保存多张照片,那么你应该为每张照片设置唯一的文件名FullScreenshot。设计一个好的策略,使FullScreenshot名称唯一(比如将日期时间附加到该字符串)。