java代码遍历文件目录下的文件,获取文件的创建时间和修改时间
例如文件目录为:D:/test 文件夹下包含有这5个文件:
具体java代码如下(jsa.java):
import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributeView;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.Date;
import java.io.File;
import java.text.*;
public class jsa
{
public String file_name;//文件名(带路径)
public Date lastmodfiyTimeDate;//文件修改时间
public Date CreateTimeDate;//文件创建时间
public void set_fileInfo()
{
Path path = Paths.get(file_name);
BasicFileAttributeView basicview = Files.getFileAttributeView(path, BasicFileAttributeView.class,LinkOption.NOFOLLOW_LINKS);
BasicFileAttributes attr;
try
{
attr = basicview.readAttributes();
this.lastmodfiyTimeDate=new Date(attr.lastModifiedTime().toMillis());
this.CreateTimeDate= new Date(attr.creationTime().toMillis());
} catch (Exception e)
{
e.printStackTrace();
}
}
//test main
public static void main(String[] args)
{
String path = "D:\\test";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(path+ "路径下的所有文件");
System.out.println(" 文件名 "+" lastModfiedTime "+" creationTime ");
File file = new File(path); //获取其file对象
File[] fs = file.listFiles();
for(File f:fs)
{
if(f.isFile())
{
String f1 = f.toString().replace("\\","/");
fileTimeInfo fti = new fileTimeInfo();
fti.file_name = f1;
fti.set_fileInfo();
System.out.println(f1+" "+df.format(fti.lastmodfiyTimeDate)+" "+df.format(fti.CreateTimeDate));
}
}
}
}
运行结果:
这是我在开发过程中遇到的一个问题,然后通过查阅博客资料总结而得,
参考资料:
https://blog.csdn.net/DCFANS/article/details/92840542 Java遍历文件夹下的所有文件
https://blog.csdn.net/weixin_38655836/article/details/80166565?utm_source=blogxgwz5 Java 获得文件的创建时间和修改时间
https://blog.csdn.net/yincan2011/article/details/76855061 java日期大小比较