加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在Java中设置文件创建时间戳

发布时间:2020-12-14 16:44:35 所属栏目:Java 来源:网络整理
导读:我知道设置创建时间戳在 Java中不存在,因为 Linux没有,但是有没有办法在Java中设置文件(Windows)创建时间戳?我在这里做了一个基本的修改时间戳编辑器. import java.io.*;import java.util.*;import java.text.*;import javax.swing.*;public class chdt{ st
我知道设置创建时间戳在 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上搜索这些功能我在这里发现了一个帖子. This answer(不是接受的)到How to Discover a File’s Creation Time with Java似乎做了你想要的使用JNA和上述方法.如果是这样,那么请再次提出这个答案:)

请不要介意标题,它有一种设置创建时间的方法.我希望你会设法让它工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读