我目前正在創建一個將數據保存到磁盤的應用程序。我希望文件的文件名是當前日期。我嘗試使用SimpleDateFormat爲此目的,但我不知道如何將它轉換爲字符串。它的toString()方法沒有被Object所覆蓋,因此我沒有得到有效的結果。使用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