将文件添加到存档时不要修改文件的编辑日期

Posted

技术标签:

【中文标题】将文件添加到存档时不要修改文件的编辑日期【英文标题】:Don't modify file's edit date when this is added to a archive 【发布时间】:2014-05-12 09:24:03 【问题描述】:

我正在使用 SharpCompress 库创建我的 zip 存档。我成功创建了 Zip 存档,但是库会自动将文件的编辑日期更新为当前日期时间。我不想要这种行为。我想要的是:编辑日期将保持不变(即:存档中文件的编辑日期与存档前的文件相同)。

如何避免这种行为?这是我的代码:

private String CreaPacchettoZip(String idProcesso, String pdfBasePath)

    List<String> listaPdfDiProcesso = FileHelper.EstraiListaPdfDaDirecotry(pdfBasePath);
    String zipFile = Path.Combine(pdfBasePath, idProcesso + ".zip");

        using (var archive = ZipArchive.Create())
        

            foreach (String file in listaPdfDiProcesso)
            
                archive.AddEntry(file, new FileInfo(pdfBasePath, file));
            

            using (Stream newStream = File.Create(zipFile))
            
                archive.SaveTo(newStream, SharpCompress.Common.CompressionType.None);
            
        

        return zipFile;
    

【问题讨论】:

【参考方案1】:

这里的某个地方

foreach (String file in listaPdfDiProcesso)
           var fileInfo = new FileInfo(pdfBasePath, file); 
            // If here date is ~DateTime.Now read it some other way like File.Open from file and then set it to fileInfo if it has Setter or Date setting method
            var originalFileCreationDate = e.DateItGotCreated; //DateItGotCreated is not actual propety or method.
            archive.AddEntry(file, fileInfo);
        

【讨论】:

以上是关于将文件添加到存档时不要修改文件的编辑日期的主要内容,如果未能解决你的问题,请参考以下文章

国家和年份 - 上次修改日期

基于合并日期的 Git 存档

目录上次修改日期

修改缺氧的存档-太空背景

修改缺氧的存档-太空背景

修改缺氧的存档-太空背景