linux下Java获得文件的创建时间(精确到秒)

zhangbug_net 2008-04-26 09:36:57
用ls -l命令只能取到分钟位,无法获得秒位
windows中已经通过jni实现了,linux下如何实现,希望高人指点,谢谢!
...全文
1926 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhongxin 2008-05-10
  • 打赏
  • 举报
回复
LL,这个就行呀,CAL也行
zspsys 2008-05-09
  • 打赏
  • 举报
回复
不太清楚,关注下~~~
zhangbug_net 2008-04-27
  • 打赏
  • 举报
回复
解决了,呵呵
"04%d.%02d.%02d %02d:%02d:%02d.%03d\0"
就可以了.
zhangbug_net 2008-04-27
  • 打赏
  • 举报
回复
TO jiangnaisong :
我再做些试验测试一下

还有,问一下
sprintf(fileTimeString,"%d.%d.%d %d:%d:%d.%d\0",
creationSystemTime.wYear,
creationSystemTime.wMonth,
creationSystemTime.wDay,
creationSystemTime.wHour,
creationSystemTime.wMinute,
creationSystemTime.wSecond,
creationSystemTime.wMilliseconds);
我若想得到 2008.04.25 23:16:19.890 "%d.%d.%d %d:%d:%d.%d\0"应该怎么写
云上飞翔 2008-04-26
  • 打赏
  • 举报
回复
答:说明:LINUX下文件刚创建好,以后全是文件读操作(没有执行过存盘操作),则取的文件修改时间就是文件创建的时间
云上飞翔 2008-04-26
  • 打赏
  • 举报
回复
答:LINUX下既然如此,除了上述ls命令外,用的是最后修改时间,或者,倒不如直接用JAVA的File类取最后修改时间了。

以上仅供你参考
云上飞翔 2008-04-26
  • 打赏
  • 举报
回复
答:原来是这样。我想在LINUX下,就以修改时间为你的文件时间。如:只要不改文件就行。
方法:如要获取文件mydata.dat,则:
命令:ls --full-time mydata.dat
显示结果:-rw-r--r-- 1 root root 0 2008-04-26 22:47:50.000000000 +0800 mydata.dat
上边红色的就是你要的。你就手JAVA直接取吧。
以上仅供你参考
zhangbug_net 2008-04-26
  • 打赏
  • 举报
回复
多谢关注!
我的需求是这样的,我在这说一下,高人帮我看看
有一个ftp服务器接收文件,每个文件都有一定的时效,我要判断每个文件是及时到达还是逾限
我的程序不停地处理这些文件,处理的时候我要获取文件的 接收时间(在windows中我获取的文件的创建时间) 计算时效记录日志
这个时间如果是获取系统当前时间会有一定问题,一旦我的程序出了问题就无法再获得每个文件真正的接收时间.

我理解的接收时间应该是 文件ftp到我的服务器的时候,请问各位高人,我在win下获取创建时间应该是正确的吧,在linux下我应该获取哪个时间呢.多谢.
sunyujia 2008-04-26
  • 打赏
  • 举报
回复
看来你只有两条路了
1在文件名上做手脚,加上文件名
2文件夹下做个文件专门存储目录下文件的创建时间
我是风 2008-04-26
  • 打赏
  • 举报
回复
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。
云上飞翔 2008-04-26
  • 打赏
  • 举报
回复
答:在我的印像中,好像UNIX或LINUX平台下文件系统中就没有保存文件的创建时间,只有文件的最后修改的时间。否则的话,JAVA中File类就应该有支持这个属性的方法了。

以上仅供你参考

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧