【发布时间】:2014-08-19 03:47:38
【问题描述】:
当我尝试使用 winrar 提取文件时,它会在 .gz 中保留文件的修改日期。但是当我使用有效的代码提取它时(我从其他博客获得):
public static void Decompress(FileInfo fileToDecompress)
{
using (FileStream originalFileStream = fileToDecompress.OpenRead())
{
string currentFileName = fileToDecompress.FullName;
string date = fileToDecompress.LastWriteTimeUtc.ToString();
MessageBox.Show(date);
string newFileName = currentFileName.Remove(currentFileName.Length - fileToDecompress.Extension.Length);
using (FileStream decompressedFileStream = File.Create(newFileName))
{
using (GZipStream decompressionStream = new GZipStream(originalFileStream, CompressionMode.Decompress))
{
decompressionStream.CopyTo(decompressedFileStream);
Console.WriteLine("Decompressed: {0}", fileToDecompress.Name);
}
}
}
}
它将提取文件的修改日期更改为当前日期,即我提取文件的日期和时间。
我怎样才能保留文件的修改日期?
例如,.gz 中的文件使用 winrar 的日期为 2014 年 8 月 13 日,它没有更改,但是当我使用我的代码时,它会更改为我提取它的当前日期。
【问题讨论】:
标签: c# gzip gzipstream