文件的创建时间,修改时间,访问时间,三者的实际含义.

2024-11-03 00:23:49
推荐回答(5个)
回答1:

1、说一下文件创建时间和修改时间一致的问题,这是因为文件是在编辑完成之后才保存的,所以创建时间和修改时间是一致的,就像你用word敲了一篇稿子,敲完后保存成文件,这时候文件的创建时间和修改时间是一致辞的,如果你再没有打开过这个文件,那么连访问时间也是一致的。
2、说一下文件创建时间晚于修改时间的问题,这个创建时间是指文件在你的电脑上创建的时间,而并非该文件产生的时间,也就是说,如果有一个文件是2008年在别的电脑上创建的,并被上传到了网上,而你是13年下载到你的电脑中的,那这个文件的创建时间就是2013年的某日,所以会出现创建时间晚于修改时间。
3、关于文件的访问时间,这个确实像你说的,有时候明明访问了,访问时间却没有变动,我个人分析,这个访问时间是不是要对该文件进行了某种操作才算访问,但那样又和修改时间没有什么区别了,这个真没搞明白。
希望我的回答能帮助你

回答2:

真心觉得LZ自恃有推理能力但其实很弱,居然会拿这个来佐证“时间是不可以回头,但可以在光速中停止”。lkchenliang说的哪点没有包含你说的每一种情况了,文件自身的创建时间和复制在你电脑上的创建的时间(即文件的副本的创建时间)难道很难理解吗?你还要那么啰嗦地用那么浅陋的例子反驳他(你的问题本身也是。定义在字面意思上是矛盾的这点是存在的,但这不是因为定义是矛盾的,而是因为定义说得太模糊),亏你已经大学毕业了。这个区别是如此简单以至于弄懂了它完全说不上是推理或逻辑好。
以下是解释
创建时间:该文件在本载体本地址上创建的时间
修改时间:在属性中保存的最后一次修改的时间
访问时间:在属性中保存的最后一次访问的时间
啰嗦的说明:“文件自身的创建时间”指的是这个文件在这个世界上第一次被创立的时间;“文件的副本”就是前者复制出来的文件;而单单“文件”这个描述则包含了“文件自身”和“副本”这两种情况;所有的“时间”都是一项保存起来的数据,只是它不在文件的内容中(比如doc的文本)。
通过这样的说明,你应该知道“修改时间早于创建时间”是因为前者是指文件自身而后者是副本(还要加一个副本未被再修改这个条件)、“三个时间一致”是因为很多情况下是通过保存已经编辑好的数据来创建的而不是创建了再编辑吧。而它们只是一部分可能性,很多情况下,因为硬盘的删除与恢复机制以及硬盘本身的储存原理(哪怕你是“彻底删除”,如果你留意到了我上面说的“本地址”的话就应该知道为什么它重要了),还有一些其他的外因,所以还有很多其他的让你觉得奇怪的可能事件的。想要对定义作一次完整的说明是非常长的。
至于访问,只能具体问题具体分析:对于txt,无论是单单查看属性还是打开查看(已经进入编辑模式),甚至是修改数据,都不被认定为“访问”,甚至在属性中改“只读”或“隐藏”都不算。doc(包括docx)则是修改了即当做“访问”。另外几乎可以确定的是所有文件都是查看属性不算“访问”的。
另外有些文件比如doc是内部也记录了时间,这些时间戳比属性中的要准确些,比如它的“创建内容的时间”就是真正的文件自身的时间。但注意所有时间都是可以通过专门软件人为随意更改的。
最后的见解:软件最好做得没有太多自我修复机制,因为否则很难被用户信任——流氓软件就是这么干的,你无论是真心要删它还是误删就是删不掉它。一个千千静听这样的日常播放音乐小软件(以前的版本只有5m上下)是不需要兼备判断用户是误删还是真心删的能力的,它不是安全软件,用不着准备那么多监控和修复机制。

回答3:

创建时间是指文件信息第一次出现在当前硬盘上的时间;
修改时间是指文件最近一次被保存的时间;
访问时间是指最近一次文件夹中的任意一个子文件被保存的时间;
三者相互独立,且能利用软件修改。
正常情况下,在一台电脑保存过一个文件,再用U盘复制到另一台电脑上时,就会出现后面那台电脑文件修改时间早于创建时间的情况。而访问时间是指文件夹中某个文件被保存的时间或文件夹的创建时间。文件的访问时间一般没有意义。
但是也必须明白,这三个时间是可以利用软件任意修改的。可以使用Windows API修改这三种时间,这三种时间为64位时间系统,但是系统资源管理器只能显示其中32位的部分。如果你将时间设置为早于1900年1月1日,资源管理器这一栏会显示空白。但是你仍然可以用API读取到你之前设定好的时间。文件修改时间是Windows系统和Linux系统都有的,所以Java中也有提供改变文件修改时间的函数。但Java API没有改变创建时间和访问时间的函数。
如果使用文件内存映射打开文件并保存,文件的三个时间都不会改变。因为文件内存映射绕开了部分的文件管理机制,文件的时间更新也被绕开了。

回答4:

偶然机会看到这个问题,几年前的了,题主的困扰解决了吗,呵呵,对你还是肯定鼓励的的,求知若渴,打破砂锅问到底的精神,做学问有时候啊就需要钻这个牛角尖啊。
创建时间、修改时间、访问时间,三者之所以会出现困扰和一些问题,根本在于一是中文翻译的误导,二是思维方式的差异,包括中西方思维方式差异、正常人和程序猿思维方式差异等等。哈哈~~~其实只要弄懂其中的原理、机制,知根知底,所有的问题自然就土崩瓦解了。
如你还没搞懂这个的话,留言,我再解答。

回答5:

举一个创建时间晚于修改时间的例子: