java获取文件夹里文件最近修改时间

news2024/11/25 16:33:16

概述

本人项目需要获取文件夹里面文件最近的修改时间,函数lastModified直接获取文件夹修改时间,达不到效果。
因此本人通过遍历文件夹文件,来一一比较获取最近的文件里面文件(夹)修改时间。原理简单,下面是所有的代码,给想偷懒的有需要的直接复制粘贴。

功能代码

static long LastModifyTmFiles(String dir) {
		File[] files = null;
		int i = 0;
		long tmpTm = 0;
		long tmpTm2 = 0;
		
		files = (new File(dir)).listFiles();
		
		if (files == null || files.length <= 0) {
			return 0;
		}
		
		tmpTm = 0;
		for (i = 0; i < files.length; i++) {
			if (files[i].isFile()) {
				tmpTm2 = files[i].lastModified();
				if (tmpTm < tmpTm2) {
					tmpTm = tmpTm2;
				}
				continue;
			}
			if (files[i].isDirectory()) {
				tmpTm2 = files[i].lastModified();
				if (tmpTm < tmpTm2) {
					tmpTm = tmpTm2;
				}
				tmpTm2 = LastModifyTmFiles(files[i].getAbsolutePath());
				if (tmpTm < tmpTm2) {
					tmpTm = tmpTm2;
				}
				continue;
			}
		}
		
		return tmpTm;
	}

	static Date GetLastModify(String dir) {
		Date modifyTm = null;
		File file = new File(dir);
		long tmpTm = 0;
		
		if (file.isFile()) {
			modifyTm = new Date(file.lastModified());
			return modifyTm;
		} else if (file.isDirectory()) {
			tmpTm = LastModifyTmFiles(file.getAbsolutePath());
			if (tmpTm < file.lastModified()) {
				tmpTm = file.lastModified();
			}
			modifyTm = new Date(tmpTm);
			return modifyTm;
		} else {
			return null;
		}		
	}

测试代码

	public static void main(String[] args) {		
		//testRsa();
		//(new TestThreadLock(0)).start();
		//(new TestThreadLock(1)).start();
		Date modifyTm = GetLastModify("F:\\Resources");
		System.out.println(modifyTm);
	}
	

运行效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/722822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL中这些关键字的用法,佬们get到了嘛

前言&#xff1a; 最近粉丝问了一个问题&#xff0c;是关于Limit分页的用法&#xff0c;他没有理解清楚&#xff0c;因此本篇文章主要讲解MySQL的关键字的知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。 如果文章有什么需要改进的地方欢迎大佬提出&#xff0c…

MOdaHub魔搭社区:AI大模型应用落地的三大阻碍

目录 一是基于通用大模型研发行业大模型的难度。 二是私有数据的安全隐患。 三是落地成本的可控性。 To B 的探索并非现在才开始。自 ChatGPT 开放 API 插件以来&#xff0c;国内的多家云厂商在推出通用大模型时&#xff0c;也往往同步其对行业赋能的意愿。但大模型 To B 探…

吸烟(抽烟)检测和识别1:吸烟(抽烟)数据集说明(含下载链接)

吸烟(抽烟)检测和识别1&#xff1a;吸烟(抽烟)数据集说明(含下载链接) 目录 吸烟(抽烟)检测和识别1&#xff1a;吸烟(抽烟)数据集说明(含下载链接) 1. 前言 2. 吸烟(抽烟)类别说明 3. 吸烟(抽烟)分类数据集 &#xff08;1&#xff09;smoking-dataset &#xff08;2&…

内幕交易最高判终身监禁:韩国首部独立「加密法案」全文来了

2023年6月30日&#xff0c;韩国国会政务委员会通过了该国首部针对虚拟资产的立法——《虚拟资产用户保护法&#xff08;가상자산 이용자 보호 등에 관한 법률안&#xff09;》&#xff0c;目的是保护虚拟资产使用者及限制不公平交易&#xff0c;将在颁布一年后开始生效&#xf…

如何用 PowerPoint 制作滚动字幕

想知道如何使用 PowerPoint 制作滚动字幕吗&#xff1f;让您的演示更生动有趣&#xff01;请紧跟以下教程&#xff0c;学习这个令人赞叹的技巧&#xff01; 是不是你觉得自己制作的PPT过于呆板和无聊&#xff0c;而别人的PPT却充满了高级和趣味&#xff1f;原因在于你的PPT缺乏…

信创信创,有信难创

本土化产品&#xff0c;近年来备受追捧。比如馒头&#xff0c;成了更适合中国宝宝体质的欧包&#xff0c;有的创意馒头甚至可以卖出二十多元的“高价”&#xff1b;酱香饼&#xff0c;更适合中国宝宝体质的披萨&#xff1b;中药汤&#xff0c;更适合中国宝宝体质的咖啡…… 这样…

青岛大学_王卓老师【数据结构与算法】Week04_07_顺序表和链表的比较_学习笔记

本文是个人学习笔记&#xff0c;素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享&#xff0c;另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权&#xff0c;请留言作删文处理。 课程视频链接&#xff1a; 数据结构与算法基础–…

uniapp实现腾讯地图定位,生成点,多点连线,清空点线,卫星地图等功能

功能&#xff1a; 1.地图上标点&#xff0c;点有内容&#xff0c;点击点后可以查看点的信息&#xff0c;详情 2.点击地图生成点&#xff0c;点击多个点后可以实现点连线功能 3.点击按钮后&#xff0c;可以把生成的点清空 4.卫星地图和默认地图切换功能 1.完整代码字段讲解 1.…

集成免费Chatgpt的WeTab安装与使用详解

集成免费Chatgpt的WeTab安装与使用详解 一、WeTab简介二、Chatgpt简介三、WeTab安装3.1 Edge浏览器在线安装教程3.2 Chrome浏览器在线安装教程 四、WeTab和ChatGPT的简单使用4.1 WeTab简单使用4.2 集成ChatGPT的简单使用 一、WeTab简介 WeTab是一款集成了多种实用工具的在线工…

第47步 深度学习图像识别:SqueezeNet建模(Pytorch)

基于WIN10的64位系统演示 一、写在前面 &#xff08;1&#xff09;SqueezeNet SqueezeNet是一种轻量级的深度神经网络架构&#xff0c;由Iandola等人在2016年提出。这种模型的最大特点是参数量极少&#xff0c;仅有510千个参数&#xff0c;而且模型大小只有5MB&#xff0c;比…

Simulink仿真模块 - Multiport Switch

Multiport Switch:基于控制信号选择输出信号 在仿真库中的位置为:Simulink / Signal Routing HDL Coder / Signal Routing 模型为: 双击模型打开参数设置界面为: 说明 Multiport Switch 模块用于确定将多个模块输入中的哪一个传递给输出。此模块根据第一个输入的值…

Nginx 安装 headers-more-nginx-module 扩展,隐藏www服务信息

通过Ubuntu APT安装的Nginx默认是没有扩展的&#xff0c;所以需要手动安装才可以。本文主要分享如何在 APT 安装 Nginx 的环境中安装 headers-more-nginx-module 扩展&#xff0c;隐藏www服务信息。 1、起因 今天收到一个高危漏洞的警告&#xff0c;该漏洞大意为&#xff1a;…

Fortran 中的函数与子程序

Fortran 中的函数与子程序 简介 Fortran 是不区分大小写的函数&#xff08;Function&#xff09;&#xff1a; 函数是一段具有输入和输出的代码块&#xff0c;它接受一些输入参数&#xff0c;经过一系列计算后返回一个结果。 在Fortran中&#xff0c;函数的定义以关键字"…

【深度学习】1. yolov5 推理速度和batchsize的增长关系,推理并行处理多张图片,显存如何手动释放

文章目录 前言1. batchsize和推理速度的关系2. 修改batchsize尝试2.1 benifit&#xff08;好处&#xff09;2.1 编码batchsize下的推理2.2 发现问题2.2.1 推理结束后&#xff0c;占用显存不释放。 2.3 其它有用的参数设置 前言 yolov5的detect.py 是默认batchsize1的&#xff…

echarts 进度条 样式图表

示例图 代码 <!-- *flat-bar-chart *author yuge *date 2023/6/26 16:21 --> <template><div class"flat-bar-chart-main" ref"chartDiv"></div> </template><script> import * as echarts from echartsexport defau…

阿里云国际站:云原生数据库2.0时代,阿里云如何将云原生进行到底?

【猎云网上海】11月3日报道&#xff08;文/孙媛&#xff09; “PolarDB将云原生进行到底&#xff01;” 在2021年云栖大会上&#xff0c;阿里巴巴集团副总裁、阿里云智能数据库事业部总负责人李飞飞宣布了PolarDB实现三层解耦的重磅升级以及引领云原生数据库技术持续创新的态…

Java性能权威指南-总结25

Java性能权威指南-总结25 数据库性能的最佳实践随机数Java原生接口字符串的性能 数据库性能的最佳实践 随机数 Java7提供了3个标准的随机数生成器类&#xff1a;java.util.Random、java.util.concurrent.ThreadLocalRandom以及java.security.SecureRandom。这三个类在性能方面…

SpringBoot教学资料1-SpringBoot基础

SpringBoot简介 Spring Boot 优点 •可快速构建独立的Spring应用 •直接嵌入Tomcat(无需部署WAR文件) •提供依赖启动器简化构建配置 •极大程度的自动化配置Spring和第三方库 •提供生产就绪功能 •极少的代码生成和XML配置 •Spring Boot是基于Spring框架开发的全新框架&…

jenkins使用ftp工具,上传文件至服务器报错“Could not write file”

一、错误说明 使用ftp上传文件 ERROR: Exception when publishing, exception message [Could not write file. Server message: [553 Could not create file.]]11:12:45 FTP: Connecting from host [test-xxx-java-user-service-3-932ft-hsb69-t5wmf] 11:12:45 FTP: Conne…

『DotNetBrowser』.Net的浏览器嵌入组件,该选择DotNetBrowser 还是 CefSharp?

&#x1f4e3;读完这篇文章里你能收获到 全方位对比DotNetBrowser 和 CefSharp的优缺点 文章目录 一、引言二、引擎三、架构1. CefSharp架构2. DotNetBrowser架构 四、对比1. 稳定性和内存使用2. 应用程序域3. AnyCPU4. H.264, AAC5. 安全6. Visual Studio设计器7. 嵌入应用程…