把文件解压缩都是有什么算法啊。怎么做啊。c#。谁有调式通过的代码啊。解压缩文件。
解决方案 »
- 求助,大神进来看看
- winform中组合控件如何设置RadioButton的组
- datagridview
- 一个简单类问题!
- datagridview中checkBox列的问题
- 小弟在msdn上看到的一个列子 比较初级 但是看不懂。。希望高手来帮帮忙~~谢谢
- 在分析向此请求提供服务所需资源时出错。 未能加载类型“whjjw.index.index”。
- 求助一段简单算法
- 菜单图标(在线)
- 我只剩40分了,我要问一个vb.net中数据库的问题,有点难
- 支付宝在线支付问题,不知如何更新自己数据库
- SaveFileDialog明明CheckFileExists属性已设为false,为什么保存的时候还老会弹出“文件已存在,是否保存到此文件?”的对话框?怎么办?
这是我写的
/// <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();
}
}
}