C#压缩文件夹及文件夹下的所有文件为zip
来源:互联网 发布:淘宝怎么参加公益宝贝 编辑:程序博客网 时间:2024/06/01 12:46
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using ICSharpCode.SharpZipLib;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Checksums;
namespace ZipTest
{
class Program
{
static void Main(string[] args)
{
string Path = @"C:\Users\Administrator\Desktop\TEST120121031111539";
ZipFile(Path, @"C:\Users\Administrator\Desktop\a.zip");
}
public static void ZipFile(string strFile, string strZip)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar)
strFile += Path.DirectorySeparatorChar;
ZipOutputStream s = new ZipOutputStream(File.Create(strZip));
s.SetLevel(6); // 0 - store only to 9 - means best compression
zip(strFile, s, strFile);
s.Finish();
s.Close();
}
private static void zip(string strFile, ZipOutputStream s, string staticFile)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar) strFile += Path.DirectorySeparatorChar;
Crc32 crc = new Crc32();
string[] filenames = Directory.GetFileSystemEntries(strFile);
foreach (string file in filenames)// 遍历所有的文件和目录
{
if (Directory.Exists(file))// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
{
zip(file, s, staticFile);
}
else // 否则直接压缩文件
{
//打开压缩文件
FileStream fs = File.OpenRead(file);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
string tempfile = file.Substring(staticFile.LastIndexOf("\\") + 1);
ZipEntry entry = new ZipEntry(tempfile);
entry.DateTime = DateTime.Now;
entry.Size = fs.Length;
fs.Close();
crc.Reset();
crc.Update(buffer);
entry.Crc = crc.Value;
s.PutNextEntry(entry);
s.Write(buffer, 0, buffer.Length);
}
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using ICSharpCode.SharpZipLib;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Checksums;
namespace ZipTest
{
class Program
{
static void Main(string[] args)
{
string Path = @"C:\Users\Administrator\Desktop\TEST120121031111539";
ZipFile(Path, @"C:\Users\Administrator\Desktop\a.zip");
}
public static void ZipFile(string strFile, string strZip)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar)
strFile += Path.DirectorySeparatorChar;
ZipOutputStream s = new ZipOutputStream(File.Create(strZip));
s.SetLevel(6); // 0 - store only to 9 - means best compression
zip(strFile, s, strFile);
s.Finish();
s.Close();
}
private static void zip(string strFile, ZipOutputStream s, string staticFile)
{
if (strFile[strFile.Length - 1] != Path.DirectorySeparatorChar) strFile += Path.DirectorySeparatorChar;
Crc32 crc = new Crc32();
string[] filenames = Directory.GetFileSystemEntries(strFile);
foreach (string file in filenames)// 遍历所有的文件和目录
{
if (Directory.Exists(file))// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
{
zip(file, s, staticFile);
}
else // 否则直接压缩文件
{
//打开压缩文件
FileStream fs = File.OpenRead(file);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
string tempfile = file.Substring(staticFile.LastIndexOf("\\") + 1);
ZipEntry entry = new ZipEntry(tempfile);
entry.DateTime = DateTime.Now;
entry.Size = fs.Length;
fs.Close();
crc.Reset();
crc.Update(buffer);
entry.Crc = crc.Value;
s.PutNextEntry(entry);
s.Write(buffer, 0, buffer.Length);
}
}
}
}
}
- C#压缩文件夹及文件夹下的所有文件为zip
- C#多级文件夹及文件的zip压缩解压
- C#打包文件夹成zip格式(包括文件夹和子文件夹下的所有文件)
- C#打包文件夹成zip格式(包括文件夹和子文件夹下的所有文件)
- C#遍历文件夹下的所有文件及文件夹
- 用C#压缩文件夹下所有的文件夹和文件
- JAVA实现把指定文件夹下的所有文件压缩成zip包
- AAA JAVA实现把指定文件夹下的所有文件压缩成zip包
- JAVA实现把指定文件夹下的所有文件压缩成zip包
- JAVA实现把指定文件夹下的所有文件压缩成zip包
- JAVA实现把指定文件夹下的所有文件压缩成zip包
- JAVA实现把指定文件夹下的所有文件压缩成zip包
- JAVA实现把指定文件夹下的所有文件压缩成zip包
- JAVA实现把指定文件夹下的所有文件压缩成zip包
- JAVA实现把指定文件夹下的所有文件压缩成zip包
- vbs 实现压缩文件夹为zip文件
- C# 删除目录下的所有文件及子文件夹
- java压缩及解压(.zip)文件文件夹
- openoffice监听键盘事件宏代码
- 浅淡SqlServer的Top与Oracle的RowNum
- zhjy工作小结
- SQLserver数据备份与恢复
- 使用JFreeChart在页面展示线图
- C#压缩文件夹及文件夹下的所有文件为zip
- 如何在myeclipse中由命令行参数传入数据
- Java读写pdf、pdf转图片工具类
- VC历程二
- NetworkManager简短介绍
- android 删除手机自带的系统应用
- 分析称Google更应担心微软而非苹果
- 孙振耀退休感言
- linux 下查看进程被占用情况