下面的方法我已经试过了,测试通过,但是只能是单个文件那位大哥能帮我改下代码下面的代码,是能使其可以压缩文件夹!或者能压缩多个文件到一个压缩包里面
别的方法就不需要了,我已经在晚上看了,这个方法是最简单的,其他方法不是要引用类,就是超多代码,受不了!-------------------------调用
string dirpath = @"F:\web开发\web";
DirectoryInfo di = new DirectoryInfo(dirpath);
foreach (FileInfo fi in di.GetFiles())
{
Compress(fi);
} ------------------------压缩文件 public static void Compress(FileInfo fi)
{
using (FileStream inFile = fi.OpenRead())
{
string str = fi.FullName;
if ((File.GetAttributes(fi.FullName) & FileAttributes.Hidden) != FileAttributes.Hidden & fi.Extension != ".gz")
{
using (FileStream outFile = File.Create(fi.FullName + ".gz"))
{
using (GZipStream Compress = new GZipStream(outFile, CompressionMode.Compress))
{
inFile.CopyTo(Compress);
}
}
}
}
}
---------------------------------------解压文件
public static void Decompress(FileInfo fi)
{
using (FileStream inFile = fi.OpenRead())
{
string curFile = fi.FullName;
string origName = curFile.Remove(curFile.Length -
fi.Extension.Length);
using (FileStream outFile = File.Create(origName))
{
using (GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress))
{
Decompress.CopyTo(outFile);
Console.WriteLine("Decompressed: {0}", fi.Name);
}
}
}
}
别的方法就不需要了,我已经在晚上看了,这个方法是最简单的,其他方法不是要引用类,就是超多代码,受不了!-------------------------调用
string dirpath = @"F:\web开发\web";
DirectoryInfo di = new DirectoryInfo(dirpath);
foreach (FileInfo fi in di.GetFiles())
{
Compress(fi);
} ------------------------压缩文件 public static void Compress(FileInfo fi)
{
using (FileStream inFile = fi.OpenRead())
{
string str = fi.FullName;
if ((File.GetAttributes(fi.FullName) & FileAttributes.Hidden) != FileAttributes.Hidden & fi.Extension != ".gz")
{
using (FileStream outFile = File.Create(fi.FullName + ".gz"))
{
using (GZipStream Compress = new GZipStream(outFile, CompressionMode.Compress))
{
inFile.CopyTo(Compress);
}
}
}
}
}
---------------------------------------解压文件
public static void Decompress(FileInfo fi)
{
using (FileStream inFile = fi.OpenRead())
{
string curFile = fi.FullName;
string origName = curFile.Remove(curFile.Length -
fi.Extension.Length);
using (FileStream outFile = File.Create(origName))
{
using (GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress))
{
Decompress.CopyTo(outFile);
Console.WriteLine("Decompressed: {0}", fi.Name);
}
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货