0
私は私のデスクトップのスクリーンショットを取得し、この目的のために、特定のフォルダに保存しようとしていますが保存されません、私は次の方法を書いた:ImageIOには、スクリーンショット
class Test(){
public static String screenshot(String outDir){
try {
Robot robot = new Robot();
String format = ".png";
String fileName = String.valueOf(System.currentTimeMillis()) + format;
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage screenFullImage = robot.createScreenCapture(screenRect);
ImageIO.write(screenFullImage, format, new File(outDir + fileName));
System.out.println("Success");
return outDir + fileName;
} catch (AWTException | IOException e) {
e.printStackTrace();
}
return null;
}
}
私はそうのようなコードを使用することを計画していました:
Test.screenshot("C:\\temp\\");
だから、魔法は、それが特定のフォルダ内のスクリーンショットファイルを書き込みませんが、私は、ファイルの拡張子を削除して、明示的にファイルの名前をハードコーディングしている場合には、結果を書き込みます。
しかし、このコードは動作します:
public static String screenshot(){
try {
Robot robot = new Robot();
String format = "jpg";
String fileName = "XXX." + format;
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage screenFullImage = robot.createScreenCapture(screenRect);
ImageIO.write(screenFullImage, format, new File("C:\\temp\\" + fileName));
System.out.println("Success");
return outDir + fileName;
} catch (AWTException | IOException e) {
e.printStackTrace();
}
return null;
}
私はここで間違って何をしているのですか?
あなたの 'C'ドライバにはフォルダ名が' temp'でしたか? –
はい私はそのフォルダを持っています –
どうすればそれを動作させることができますか? '新しいファイル(" abc ")'? –