「java文件修改时间」java修改文件创建时间

博主:adminadmin 2023-01-12 08:27:07 1093

本篇文章给大家谈谈java文件修改时间,以及java修改文件创建时间对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 文件修改时间 可以修改吗

文件的创建时间是修改不了的 java API只能获取文件更新时间 获取文件创建时间可以使用process 来调用dir命令

java编写程序获取指定文件的最后修改时间

package com.xian.home2;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.List;

public class FileOperate {

/**

* @param args

*/

public static void main(String[] args) {

// FileOperate fo = new FileOperate();

// String filepath = "G:\\02";

// fo.getFileList(filepath);

getCreateTime();

}

public ListFile getFileList(String filepath) {

try {

File file = new File(filepath);

if (file.isDirectory()) {

String[] filelist = file.list();

for (int i = 0; i filelist.length; i++) {

File Ifile = new File(filepath + "\\" + filelist[i]);

FileInputStream fis = new FileInputStream(Ifile);

long modifiedTime = Ifile.lastModified();

Date date=new Date(modifiedTime);

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:MM");

String dd=sdf.format(date);

System.out.println("File name:" + Ifile.getName()

+ " \tFile size: "

+ (double) ((double) fis.available() / 1024 / 1024)

+ "M"+ " \tFile create Time: "+dd);

}

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

/**

* 读取文件创建时间

*/

public static void getCreateTime(){

String filePath = "G:\\02\\123.txt";

String strTime = null;

try {

Process p = Runtime.getRuntime().exec("cmd /C dir "

+ filePath

+ "/tc" );

InputStream is = p.getInputStream();

BufferedReader br = new BufferedReader(new InputStreamReader(is));

String line;

while((line = br.readLine()) != null){

if(line.endsWith(".txt")){

strTime = line.substring(0,17);

break;

}

}

} catch (IOException e) {

e.printStackTrace();

}

System.out.println("创建时间 " + strTime);

//输出:创建时间 2009-08-17 10:21

}

/**

* 读取文件修改时间的方法1

*/

@SuppressWarnings("deprecation")

public static void getModifiedTime_1(){

File f = new File("C:\\test.txt");

Calendar cal = Calendar.getInstance();

long time = f.lastModified();

cal.setTimeInMillis(time);

//此处toLocalString()方法是不推荐的,但是仍可输出

System.out.println("修改时间[1] " + cal.getTime().toLocaleString());

//输出:修改时间[1] 2009-8-17 10:32:38

}

/**

* 读取修改时间的方法2

*/

public static void getModifiedTime_2(){

File f = new File("C:\\test.txt");

Calendar cal = Calendar.getInstance();

long time = f.lastModified();

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

cal.setTimeInMillis(time);

System.out.println("修改时间[2] " + formatter.format(cal.getTime()));

//输出:修改时间[2] 2009-08-17 10:32:38

}

}

为什么java对某些文件修改时间的设定不精确

可以通过File流的lastModified方法获取到修改时间的。举例:

public static void getModifiedTime(){

File f = new File("C:\\test.txt");

Calendar cal = Calendar.getInstance();

long time = f.lastModified();

cal.setTimeInMillis(time);

System.out.println("修改时间: " + cal.getTime().toLocaleString());

}

结果:修改时间:2015-06-29 10:32:38

Java中如何得到文件的创建时间&最后修改时间

java中只能用java.io.File获得文件的最后修改时间,如下:

比如我在D盘有个文件夹a,现在要获取其创建时间:

File file = new File("D:\\a");

long time = file.lastModified();//返回文件最后修改时间,是以个long型毫秒数

String ctime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date(time));

System.out.println(ctime);

想要获得文件的创建时间,那么只能用java去掉命令实现了,若为windows系统,想要拿到创建时间必须依赖Windows系统的API,通过调CMD命令实现, 代码如下:

 public static void main(String[] args) {   

        try {   

            Process p = Runtime.getRuntime().exec("cmd /C dir d:\\test.txt /tc");   

            InputStream is = p.getInputStream();   

            BufferedReader br = new BufferedReader(new InputStreamReader(is));   

            String str;   

            int i = 0;   

            while ((str = br.readLine()) != null) {   

                i++;   

                if (i == 6) {   

                    System.out.println(str.substring(0, 17));   

                }   

            }   

        } catch (java.io.IOException exc) {   

            exc.printStackTrace();   

        }   

    }

关于java文件修改时间和java修改文件创建时间的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。