把文件解压缩都是有什么算法啊。怎么做啊。c#。谁有调式通过的代码啊。

赵一一 2008-06-25 11:33:21
把文件解压缩都是有什么算法啊。怎么做啊。c#。谁有调式通过的代码啊。解压缩文件。
...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵一一 2008-06-26
  • 打赏
  • 举报
回复
谢谢。兄弟解答。
zhjchinese 2008-06-25
  • 打赏
  • 举报
回复
还有C#下可以引用using ICSharpCode.SharpZipLib.Zip也可进行解压处理
zhjchinese 2008-06-25
  • 打赏
  • 举报
回复
WINRAR的解压缩是开源的。。你到网上找下。。引用动态库就行了
这是我写的
/// <summary>
/// 根据解压文件路径解压文件到临时文件夹(update_temp)中
/// </summary>
/// <param name="str_rarFile_path">下载的更新临时文件绝对路径</param>
/// <param name="str_temp_path">解压后的临时文件夹路径</param>
/// <returns></returns>
private bool UnrarFile(string str_rarFile_path,out string str_temp_path)
{
str_temp_path = "";
try
{
//创建临时文件夹(update_temp)
rct_sm.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " ==> 正在创建临时文件夹......\n");
rct_sm.Focus();
str_temp_path = Application.StartupPath + "\\update_temp";
//判断临时文件夹是否存在,存在就删除掉
if(Directory.Exists(str_temp_path))
{
DeleteDir_temp(str_temp_path);
}
//创建临时文件夹
Directory.CreateDirectory(str_temp_path);
rct_sm.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " ==> 创建临时文件夹完成!\n");
rct_sm.Focus();
rct_sm.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " ==> 准备解压文件......\n");
rct_sm.Focus();
prgb_jd.Maximum = 1000;
prgb_jd.Value = 0;
AttachHandlers(unrar);
unrar.DestinationPath = str_temp_path;
unrar.Open(str_rarFile_path,Unrar.OpenMode.Extract);
while(unrar.ReadHeader())
{
prgb_jd.Value=0;
unrar.Extract();//解压文件
}
rct_sm.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " ==> 解压文件完成\n");
rct_sm.Focus();
return true;
}
catch(Exception ex_err)
{
MessageBox.Show(ex_err.Message.ToString(),"错误");
rct_sm.AppendText(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " ==> 解压文件出错,错误:" + ex_err.Message.ToString() + "\n");
rct_sm.Focus();
return false;
}
finally
{
if(this.unrar != null)
{
unrar.Close();
}
}
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧