在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");

}

}

}

回答:

我相信您有以下选择:

  1. 查找可以执行此操作并且可以从命令行调用的工具。然后,您可以通过Java代码与之交互。
  2. 以下来自MSDN File Times的链接显示了任何工具的工作方式-特别注意功能GetFileTimeSetFileTime

在这里,我想您会很幸运:)在Google上搜索这些功能后,我在此处找到了一篇帖子。如何使用Java发现文件的创建时间的答案(不是被接受的答案)似乎完全可以满足您使用JNA和上述方法的需要。如果可以,请再回答一次:)

请不要介意标题,它也可以设置创建时间。希望您能成功进行操作。

以上是 在Java中设置文件创建时间戳 的全部内容, 来源链接: utcz.com/qa/427199.html

回到顶部