Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net System.IO文件创建日期行为问题_Vb.net_Windows 10_System.io.file - Fatal编程技术网

Vb.net System.IO文件创建日期行为问题

Vb.net System.IO文件创建日期行为问题,vb.net,windows-10,system.io.file,Vb.net,Windows 10,System.io.file,我写了一个windows服务,它将大的未压缩图像与其小得多的缩略图进行比较,以确定哪些图像需要新的缩略图或根本没有缩略图。。。我使用文件的创建日期来确定哪些文件需要更新如果未压缩图像的创建日期大于缩略图,则缩略图已过期 一切都很好,我唯一的问题是,当我保存新版本的缩略图时,它们会比现有版本更有效。。。起初我只是做了一个简单的位图。保存,但当覆盖时,这只会改变文件的修改日期。我添加了一个文件。在保存新版本之前删除,它会删除旧版本,按原样保存新版本,但新文件的创建日期仍然是旧的创建日期 我删除了所有

我写了一个windows服务,它将大的未压缩图像与其小得多的缩略图进行比较,以确定哪些图像需要新的缩略图或根本没有缩略图。。。我使用文件的创建日期来确定哪些文件需要更新如果未压缩图像的创建日期大于缩略图,则缩略图已过期

一切都很好,我唯一的问题是,当我保存新版本的缩略图时,它们会比现有版本更有效。。。起初我只是做了一个简单的位图。保存,但当覆盖时,这只会改变文件的修改日期。我添加了一个文件。在保存新版本之前删除,它会删除旧版本,按原样保存新版本,但新文件的创建日期仍然是旧的创建日期


我删除了所有旧的缩略图,等了几分钟,然后再次运行创建代码,全新的创建日期。。。是否有一些时间框架窗口将文件数据存储在内存中,也许它可以识别相同的文件名并为新文件指定旧的创建日期???

根据

NTFS格式的驱动器可能会在短时间内缓存文件元信息,如文件创建时间。因此,如果要覆盖或替换现有文件,可能需要显式设置文件的创建时间


但是,如果您想谨慎起见,可以重命名原始文件,比如在末尾添加.old。这样,它就必须为新文件创建一个新的目录条目。然后,如果出现严重错误,在您删除之前,它仍然存在.old副本。

如果您不向我们显示代码,我们怎么可能知道?@rory.ap正如我所解释的,没有代码可显示,这是Windows 10的行为问题。我想知道是否有人知道为什么Windows会这样。。。我正在成功删除,成功保存。不需要显示我解释过的代码,im使用System.IO.File.Delete和System.Drawing.Bitmap.Save。始终需要显示代码。我敢肯定问题出在你的代码上,但是我们不能不看到它就知道这一点。不管怎样,我们都无能为力,因为我们面前没有你的电脑。我们怎么知道出了什么问题?目前,这个问题可能会被关闭为离题,因为为什么我的代码不起作用是离题的,没有更具体的信息,也没有实际分享你的代码。请阅读。当然,我会试一试的。你可能很清楚Windows对日期和分配日期的方式有着奇怪的限制,这就是我要问的,这在帖子和标题中都有显示。我指定了删除和保存代码的方式,显然,当我告诉您我可以看到所有代码正常工作时,这还不够。这个网站已经成为一个抢手的网站,任何人都可以发表评论,向我们展示你的代码,告诉我们你的数据库管理系统,没有样本数据,我们怎么可能知道你在问什么,等等。。希望成为第一个获得选票的人。悲哀的是,我将在其他地方寻找一个简单的解释。如果你不知道System.IO.Bitmap.Save句柄在创建刚使用System.IO.file.Delete删除的文件的新版本时如何在新文件上创建日期,那么你不需要为了对你的评论投几票而发表评论来骚扰我,我的代码对此没有任何作用@rory.ap继续前进,帮助你真正能帮助的人。我的假设是删除和保存一个同名文件的速度如此之快,可能不会给windows足够的时间来实现它是一个新文件而不是覆盖。这将是一个简单的答案…非常感谢,我也这么认为,我不知道SetCreationTime方法,但这听起来像是一个明确的选择。现在,我决定只允许覆盖和查看缩略图的修改日期,因为它似乎得到了一致的更新,或者至少足够让我相信它的大部分时间。