
File file = new File("文件路径");
long time = filelastModified(); //返回此抽象路径名表示的文件最后一次被修改的时间。
Date date = new Date(time); //转换成Date类型, 接下来自己 *** 作
在 Windows 下,一个文件有创建时间、修改时间、访问时间。而在 Linux 下,一个文件也有三种时间,分别是访问时间(Access)、修改时间(Modify)、状态改变时间(Change)。
可以使用 stat 命令查看文件的访问时间、修改时间和状态改变时间。
很不幸,Linux 目前常见的文件系统是没有存储文件创建时间的,比如 ext3 就没有存储。但是有些文件系统是有的,尽管它们为创建时间使用的字段名称是不一样的,比如:
ufs2 -> st_birthtimezfs -> crtimeext4 -> crtimebtrfs -> otimejfs -> di_otime那么如何查看我们的文件系统呢?可以使用 df -T 命令来查看磁盘各个分区使用的文件系统类型。
本人使用的机器的磁盘分区使用的文件系统类型是 ext3,也就是说本人是无法查看文件创建时间的。但是,如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,当这个基本不太可能。
那什么时候访问时间,修改时间和状态改变时间会变化呢?比如我们使用vi打开文件但不编辑,那么退出后文件的访问时间就会改变;比如我们使用vi打开文件并且编辑后保存退出,那么文件的修改时间就会改变,当然访问时间也改变了;再比如使用chmod +x给文件增加可执行的属性,那么文件的状态改变时间就会改变。
答题不易,请采纳谢谢
你是想读取basedmft这个文件吗?还是只要最后1个时间?如果只要最后修改的时间,不读文件也行的,直接读basedmft这个文件本身的修改时间即可,用%~t1即可,具体结构如下:
……其他代码……Call:getLastTime basedmft文件的路径
……其他代码……
goto:eof
:getLastTime
echo %~t1
goto:eof如果你是想输出最后5行,就得读取basedmft文件了,代码结构如下:
set n=5:这里的5改成3就是最后3行
set /a Line=0
for "usebackq" %%i in ("basedmft文件的路径") do set /a Line+=1
set Line-=%n%
more +%Line% "basedmft文件的路径"
批处理获取修改时间很容易。。看for帮助: %~tI - 将 %I 扩展到文件的日期/时间 这个“日期/时间”就是修改时间。。另外veket_linux大侠的au3有点小笔误: StringCompare($modify_time[$i], $start)
以上就是关于Java如何获取文件的最后修改日期全部的内容,包括:Java如何获取文件的最后修改日期、linux下C语言怎么获取文件创建时间、用批处理如何获取某个文件的修改日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)