У меня есть много файлов, которые имеют одинаковое имя в каталоге. Я хочу сжать (zip и т. Д.) Последний измененный файл в MyDirectory. Не могли бы вы мне помочь?Как сжать последний измененный файл в C#
я могу сжать файл, но не последний измененный файл:
private void button1_Click(object sender, EventArgs e)
{
FileStream sourceFile = File.OpenRead(@"C:\MyDirectory");
FileStream destFile = File.Create(@"C:\MyDirectory.zip");
GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress);
try
{
int theByte = sourceFile.ReadByte();
while (theByte != -1)
{
compStream.WriteByte((byte)theByte);
theByte = sourceFile.ReadByte();
}
}
finally
{
compStream.Dispose();
}
MessageBox.Show("file is compressed successfully");
}
Если у вас есть .NET 4.5 вы можете использовать 'System.IO.Compression .ZipFile' класс. –
В какой операционной системе вы работаете? Последнее, что я проверил Windows, требовал уникальных имен файлов в пределах данного каталога. Примечание: 'new FileInfo (« foo.txt »). LastWriteTime' получит последнее измененное время. –
Если вы используете 4.5, вы можете использовать красивую библиотеку для части сжатия: [System.IO.Compression] (http://msdn.microsoft.com/en-us/library/system.io.compression.zipfile (v = vs.110) .aspx) –