В основном я пытаюсь сжать файл "sample.doc" в формат файла .gz.Когда это происходит, говорят, что нужно удалить расширение файла, поэтому вместо того, чтобы выглядеть как «sample.doc.gz», оно появляется как «sample.gz».Однако, когда файл извлекается, он также теряет свое расширение .doc.например.имя файла просто "образец".Любые идеи?
с использованием системы;используя System.IO;использование System.IO.Compression;using System.Text;
пространство имен gzipexample {
class Program
{
public static void Main()
{
CompressFile(@"C:\sample.doc");
}
//Compresses the file into a .gz file
public static void CompressFile(string path)
{
string compressedPath = path;
Console.WriteLine("Compressing: " + path);
int extIndex = compressedPath.LastIndexOf(".");
FileStream sourceFile = File.OpenRead(path);
FileStream destinationFile = File.Create(compressedPath.Replace(compressedPath.Substring(extIndex), "") + ".gz");
byte[] buffer = new byte[sourceFile.Length];
sourceFile.Read(buffer, 0, buffer.Length);
using (GZipStream output = new GZipStream(destinationFile,
CompressionMode.Compress))
{
Console.WriteLine("Compressing {0} to {1}.", sourceFile.Name,
destinationFile.Name, false);
output.Write(buffer, 0, buffer.Length);
}
// Close the files.
sourceFile.Close();
destinationFile.Close();
}
}
}