如题。 求方法,思路
解决方案 »
- backgroundWorker执行无限循环,CancelAsync()还能发挥作用吗?
- VS设计器在保存自定义控件时做了些什么?
- AutoToolboxPopulate=false无效,VS2010的BUG?
- 图片复制粘贴,调出属性对话框,文件放入回收站,打开文件所在文件夹并选中文件,我在模仿win7的图片查看器程序,四个功能不会
- 用C#做前台 把DataGridView中的数据导出到Excel的问题
- sqlDataReader 能都获得存储过程的数据
- 如何获取用IE拖拽过来的内容???
- 多谢各位大哥帮忙了
- 菜鸟100分求教,有关声音播放的问题--
- 寻求能在线程里运行Timer的方法。。
- c#的winform设计,设计好的界面,随便更改一下有关控件的属性,哪怕是text属性,许多布局值,比如size、location的值都变了,变的很离谱
- C# Socket TCP 长连接 服务端怎么循环 接收数据?
StartInfo.Argument="a 1.rar 要压缩多文件的路径 -y"
有段时间没搞了
自己到msdn上查查
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ionic.Zip;
using System.IO;namespace WindowsFormsApplication1
{
class ZipClass
{
/// <summary>
/// 构造函数
/// </summary>
public ZipClass()
{
} /// <summary>
/// 压缩文件
/// </summary>
/// <param name="FilePath">需要压缩文件路径集合</param>
/// <param name="FileName">压缩后文件名</param>
/// <param name="SavePath">压缩后存放路径</param>
/// <param name="PassWord">压缩密码,null为无密码</param>
/// <returns>异常消息,成功返回null</returns>
public string SetZipFile(string[] FilePath,string FileName,string SavePath,string PassWord)
{
try
{
ZipFile zipfile = new ZipFile(SavePath + "\\" + FileName + ".zip", Encoding.Default);
if (PassWord != string.Empty)
zipfile.Password = PassWord;
zipfile.AddFiles(FilePath); zipfile.Save();
}
catch (Exception ex)
{
return ex.ToString();
}
return null;
} /// <summary>
/// 压缩文件夹
/// </summary>
/// <param name="FilePath">需要压缩文件夹路径</param>
/// <param name="FileName">压缩后文件名</param>
/// <param name="SavePath">压缩后存放路径</param>
/// <param name="PassWord">压缩密码,null为无密码</param>
/// <returns>异常消息,成功返回null</returns>
public string SetZipFile(string FilePath, string FileName, string SavePath, string PassWord)
{
try
{
ZipFile zipfile = new ZipFile(SavePath + "\\" + FileName + ".zip", Encoding.Default);
if (PassWord != string.Empty)
zipfile.Password = PassWord;
zipfile.AddDirectory(FilePath);
zipfile.Save();
}
catch (Exception ex)
{
return ex.ToString();
}
return null;
} /// <summary>
/// 解压文件
/// </summary>
/// <param name="FilePath">zip文件路径</param>
/// <param name="ReleasePath">解压路径</param>
/// <param name="FileName">需要解压的文件名</param>
/// <param name="PassWord">解压密码 null为无密码</param>
/// <returns>异常消息,成功返回null</returns>
public string ReleaseFile(string FilePath,string ReleasePath,string[] FileName,string PassWord)
{
try
{
ZipFile zipfile = ZipFile.Read(FilePath);
if (PassWord != string.Empty)
zipfile.Password = PassWord;
foreach(string filename in FileName)
zipfile[filename].Extract(ReleasePath);
}
catch (Exception ex)
{
return ex.ToString();
}
return null;
} /// <summary>
/// 解压全部文件
/// </summary>
/// <param name="FilePath">zip文件路径</param>
/// <param name="ReleasePath">解压路径</param>
/// <param name="PassWord">解压密码,null为无密码</param>
/// <returns>异常消息,成功返回null</returns>
public string ReleaseAllFile(string FilePath, string ReleasePath, string PassWord)
{
try
{
ZipFile zipfile = ZipFile.Read(FilePath);
if (PassWord != string.Empty)
zipfile.Password = PassWord;
foreach (ZipEntry zipentry in zipfile)
zipentry.Extract(ReleasePath);
}
catch (Exception ex)
{
return ex.ToString();
}
return null;
} /// <summary>
/// 从zip文件中移除文件
/// </summary>
/// <param name="FilePath">zip文件路径</param>
/// <param name="FileName">要移除的文件名集合</param>
/// <returns>异常消息,成功返回null</returns>
public string DelFile(string FilePath, string[] FileName)
{
try
{
ZipFile zipfile = ZipFile.Read(FilePath);
foreach (string filename in FileName)
zipfile.RemoveEntry(filename);
zipfile.Save();
}
catch (Exception ex)
{
return ex.ToString();
}
return null;
} /// <summary>
/// 向zip文件内添加文件
/// </summary>
/// <param name="FilePath">zip文件路径</param>
/// <param name="AddFilePath">要添加的文件路径集合</param>
/// <returns></returns>
public string AddFile(string FilePath, string[] AddFilePath)
{
try
{
ZipFile zipfile = ZipFile.Read(FilePath);
zipfile.AddFiles(AddFilePath);
zipfile.Save();
}
catch (Exception ex)
{
return ex.ToString();
}
return null;
}
}
}
需要Ionic.Zip.dll