현재 데이터를 디스크에 저장하는 앱을 만들고 있습니다. 파일의 파일 이름을 현재 날짜로 지정합니다. 이 목적으로 SimpleDateFormat을 사용해 보았지만 어떻게 문자열로 변환 할 수 있는지 알지 못합니다. 그 toString() 메소드가 Object로부터 오버라이드 (override)되고 있지 않기 때문에, 유효한 결과를 돌려받지 않습니다. 내가 문자열로 날짜/시간 형식을 나타냅니다 어떻게SimpleDateFormat을 파일 이름 문자열로 사용하기
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
...
ImageIO.write(capture, "png", new File(sdf.toString() + ".png"));
:
이 코드인가?
전체 코드 :
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
public class Screenshot {
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
public static void fullScreenshot() {
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
try {
BufferedImage capture = new Robot().createScreenCapture(screenRect);
ImageIO.write(capture, "png", new File(sdf.format(new Date()) + ".png"));
} catch (IOException e) {
System.err.println("Thrown exception at IO file save");
} catch (AWTException e) {
System.err.println("Insufficient permissions or explosion while screenshoting");
}
}
}
이 결과는 실제로 문자열이지만, 콜론 (:)을 형식에서 슬래시 (/)로 변경하십시오. 어떻게 방지 할 수 있습니까? – Aborted
@Aborted 코드를 제공 할 수 있습니까? 이것은 아마도'DateFormat' 때문이 아닙니다. – sp00m
물론입니다. 나는 그 질문에 바로 올릴 것이다. – Aborted