在Java中设置文件创建时间戳
我知道在Java中不设置创建时间戳记是因为Linux没有它,但是有没有办法在Java中设置文件(Windows)的创建时间戳记?我在这里做了一个基本的修改时间戳编辑器。
import java.io.*;import java.util.*;
import java.text.*;
import javax.swing.*;
public class chdt{
static File file;
static JFrame frame = new JFrame("Input a file to change");
public static void main(String[] args) {
try{
final JFileChooser fc = new JFileChooser();
fc.setMultiSelectionEnabled(false);
//BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
//System.out.println("Enter file name with extension:");
//String str = bf.readLine();
JOptionPane.showMessageDialog(null, "Input a file to change.");
frame.setSize(300, 200);
frame.setVisible(true);
int retVal = fc.showOpenDialog(frame);
if (retVal == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile();
frame.setVisible(false);
} else {
JOptionPane.showMessageDialog(null, "3RR0RZ! You didn't input a file.");
System.exit(0);
}
//System.out.println("Enter last modified date in 'dd-mm-yyyy-hh-mm-ss' format:");
//String strDate = bf.readLine();
String strDate = JOptionPane.showInputDialog("Enter last modified date in 'dd-mm-yyyy-hh-mm-ss' format:");
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss");
Date date = sdf.parse(strDate);
if (file.exists()){
file.setLastModified(date.getTime());
JOptionPane.showMessageDialog(null, "Modification is successful!");
}
else{
JOptionPane.showMessageDialog(null, "File does not exist! Did you accidentally it or what?");
}
}
catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "3RR0RZ");
}
}
}
回答:
我相信您有以下选择:
- 查找可以执行此操作并且可以从命令行调用的工具。然后,您可以通过Java代码与之交互。
- 以下来自MSDN File Times的链接显示了任何工具的工作方式-特别注意功能
GetFileTime
和SetFileTime
。
在这里,我想您会很幸运:)在Google上搜索这些功能后,我在此处找到了一篇帖子。如何使用Java发现文件的创建时间的答案(不是被接受的答案)似乎完全可以满足您使用JNA和上述方法的需要。如果可以,请再回答一次:)
请不要介意标题,它也可以设置创建时间。希望您能成功进行操作。
以上是 在Java中设置文件创建时间戳 的全部内容, 来源链接: utcz.com/qa/427199.html