java代码遍历文件目录下的文件,获取文件的创建时间和修改时间

java代码遍历文件目录下的文件,获取文件的创建时间和修改时间

例如文件目录为:D:/test 文件夹下包含有这5个文件:在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

具体java代码如下(fileTimeInfo.java和jsa.java):

fileTimeInfo.java类文件内容

package testfiletime;

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 fileTimeInfo 
{
	public  String file_name;//"D:\\test\\12test.txt";
	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();
			//attr.lastModifiedTime();
			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:\\wpstest\\Condition";		//要遍历的路径  Fill和Condition(Fill决定开始时间,Condition决定结束时间)
		Date begintime = null,endtime=null;
		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();
				    begintime =fti.lastmodfiyTimeDate;
				    endtime = fti.CreateTimeDate;
				}break;
		}
		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));
				    if(begintime.after(fti.lastmodfiyTimeDate))
				    	begintime = fti.lastmodfiyTimeDate;
				    if(endtime.before(fti.CreateTimeDate))
				    	endtime = fti.CreateTimeDate;
				}
		}
		System.out.println("最早时间为"+df.format(begintime));
		System.out.println("最晚时间为"+df.format(endtime));
	}
}

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));
				}
		}
	}
}

运行结果:

在这里插入图片描述
这是我在开发过程中遇到的一个问题,然后通过查阅博客资料总结而得,
参考资料:
Java遍历文件夹下的所有文件
Java 获得文件的创建时间和修改时间
java日期大小比较

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是使用Java获取表单文件的实现代码示例: ```java import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import javax.servlet.ServletException; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; @WebServlet("/upload") @MultipartConfig public class FileUploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String uploadPath = "path/to/upload"; // 设置文件上传路径 // 创建目录(如果不存在) File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } // 获取所有上传的文件 for (Part part : request.getParts()) { String fileName = extractFileName(part); // 提取上传文件文件名 // 保存文件到指定路径 String filePath = uploadPath + File.separator + fileName; File saveFile = new File(filePath); part.write(filePath); // 或者使用以下代码文件保存到指定路径 // InputStream inputStream = part.getInputStream(); // Files.copy(inputStream, saveFile.toPath(), StandardCopyOption.REPLACE_EXISTING); System.out.println("文件保存路径:" + filePath); } response.getWriter().println("文件上传成功!"); } // 提取上传文件文件名 private String extractFileName(Part part) { String contentDisp = part.getHeader("content-disposition"); String[] items = contentDisp.split(";"); for (String item : items) { if (item.trim().startsWith("filename")) { return item.substring(item.indexOf("=") + 2, item.length() - 1); } } return ""; } } ``` 上述代码是一个基于Servlet的文件上传示例,使用`javax.servlet.http.Part`类来处理表单文件上传。在`doPost`方法中,我们首先设置了文件上传的路径,然后遍历所有上传的文件,逐个保存到指定的路径中。 请注意,上述代码中的`uploadPath`变量需要根据实际情况进行修改,以确保文件保存到正确的路径。 此外,如果你使用的是Spring框架,也可以使用Spring提供的`MultipartFile`接口来处理文件上传。具体实现方式可以参考Spring官方文档或其他相关教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值