SharpDevelop 开源的 C# IDE ! 和 SharpZipLib
http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx
--------------------------------------------------
http://www.cnblogs.com/zengwei/archive/2007/08/22/865778.html
|
首先,在 http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 下载源码,找到“ZipConstants.cs”修改
public static string ConvertToString(byte[] data) { return Encoding.GetEncoding("gb2312").GetString(data, 0, data.Length); //return Encoding.ASCII.GetString(data,0, data.Length); } public static byte[] ConvertToArray(string str) { return Encoding.GetEncoding("gb2312").GetBytes(str); //return Encoding.ASCII.GetBytes(str); } 如此就可支持中文名称了 namespace OA
//添加压缩项目:p 为需压缩的文件或文件夹; u 为现有的源ZipOutputStream; out j为已添加“ZipEntry”的“ZipOutputStream” if(Directory.Exists(s)) //文件夹的处理 if(di.GetDirectories().Length<=0) //没有子目录 //***************以上内容是修订后添加的*************** public void UnZipFile(string p) //解压缩 A: ZipEntry zp = f.GetNextEntry(); //获取解压文件流中的项目。 另注(我的理解):在压缩包里每个文件都以“ZipEntry”形式存在,其中包括存放文件的目录信息。如果空目录被压缩,该目录下将出现一个名称为空、 大小为 0 、“Crc”属性为 00000000 的“文件”。此文件只是个标记,不会被解压。 while(zp!=null) |
|
首先,在 http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 下载源码,找到“ZipConstants.cs”修改
public static string ConvertToString(byte[] data) { return Encoding.GetEncoding("gb2312").GetString(data, 0, data.Length); //return Encoding.ASCII.GetString(data,0, data.Length); } public static byte[] ConvertToArray(string str) { return Encoding.GetEncoding("gb2312").GetBytes(str); //return Encoding.ASCII.GetBytes(str); } 如此就可支持中文名称了 namespace OA
//添加压缩项目:p 为需压缩的文件或文件夹; u 为现有的源ZipOutputStream; out j为已添加“ZipEntry”的“ZipOutputStream” if(Directory.Exists(s)) //文件夹的处理 if(di.GetDirectories().Length<=0) //没有子目录 //***************以上内容是修订后添加的*************** public void UnZipFile(string p) //解压缩 A: ZipEntry zp = f.GetNextEntry(); //获取解压文件流中的项目。 另注(我的理解):在压缩包里每个文件都以“ZipEntry”形式存在,其中包括存放文件的目录信息。如果空目录被压缩,该目录下将出现一个名称为空、 大小为 0 、“Crc”属性为 00000000 的“文件”。此文件只是个标记,不会被解压。 while(zp!=null) |