java - 如何使每次保存屏幕截图时保存的文件不同

标签 java swing awt

我有一个程序,其中有一个截屏功能。该代码完全按照预期执行,但是每次拍摄新的屏幕截图时,之前的屏幕截图都会被覆盖。我想知道是否有一种方法可以使每次拍摄新屏幕截图时的文件名都不同。我的截图代码如下。

screenshot.addActionListener(new ActionListener() {
    @Override 
    public void actionPerformed(ActionEvent ev) {
        try {
            BufferedImage screenImage = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
            ImageIO.write(screenImage, "png", new File("screenshots/screenshot.png"));
        } catch (HeadlessException e) {
            e.printStackTrace();
        } catch (AWTException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
});

最佳答案

也许附加数据/时间作为文件名的一部分。

或者保留一个可用作顺序计数器的变量,并将该计数器用作文件名的一部分。

关于java - 如何使每次保存屏幕截图时保存的文件不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20484932/

相关文章:

java - 为什么我不能用Number接口(interface)计算?

Java JDBC resultSet.下期

c# - winforms 面板与 java swing 面板

java - 根据文档,RescaleOp 不起作用

java - Swing - 下拉面板

java - osmdroid - bundle 离线 map 图 block

java - 如何开始使用 Java 编码和设置 Web 服务器?

java - 如何在 Java 中向 JFrame 添加文本

C# .NET 相当于 Java Swing Actions

java - GoogleAppEngine Java 验证码,无需外部提供商