//using System;
//using System.IO;
//using System.Diagnostics;
//using Microsoft.Win32;
//using ICSharpCode.SharpZipLib.Checksums;
//using ICSharpCode.SharpZipLib.Zip;
/////压缩、解压缩类
//namespace DanielLib.Utilities.ZipHandler
//{
// public class SharpZip
// {
// public SharpZip()
// { }
// /// <summary>
// /// 压缩
// /// </summary>
// /// <param name="filename"> 压缩后的文件名(包含物理路径)</param>
// /// <param name="directory">待压缩的文件夹(包含物理路径)</param>
// public static void PackFiles(string filename, string directory)
// {
// try
// {
// FastZip fz = new FastZip();
// fz.CreateEmptyDirectories = true;
// fz.CreateZip(filename, directory, true, "");
// fz = null;
// }
// catch (Exception)
// {
// throw;
// }
// }
// /// <summary>
// /// 解压缩
// /// </summary>
// /// <param name="file">待解压文件名(包含物理路径)</param>
// /// <param name="dir"> 解压到哪个目录中(包含物理路径)</param>
// public static bool UnpackFiles(string file, string dir)
// {
// try
// {
// if (!Directory.Exists(dir))
// {
// Directory.CreateDirectory(dir);
// }
// ZipInputStream s = new ZipInputStream(File.OpenRead(file));
// ZipEntry theEntry;
// while ((theEntry = s.GetNextEntry()) != null)
// {
// string directoryName = Path.GetDirectoryName(theEntry.Name);
// string fileName = Path.GetFileName(theEntry.Name);
// if (directoryName != String.Empty)
// {
// Directory.CreateDirectory(dir + directoryName);
// }
// if (fileName != String.Empty)
// {
// FileStream streamWriter = File.Create(dir + theEntry.Name);
// int size = 2048;
// byte[] data = new byte[2048];
// while (true)
// {
// size = s.Read(data, 0, data.Length);
// if (size > 0)
// {
// streamWriter.Write(data, 0, size);
// }
// else
// {
// break;
// }
// }
// streamWriter.Close();
// }
// }
// s.Close();
// return true;
// }
// catch (Exception)
// {
// throw;
// }
// }
// }
// public class ClassZip
// {
// #region 私有方法
// /// <summary>
// /// 递归压缩文件夹方法
// /// </summary>
// private static bool ZipFileDictory(string FolderToZip, ZipOutputStream s, string ParentFolderName)
// {
// bool res = true;
// string[] folders, filenames;
// ZipEntry entry = null;
// FileStream fs = null;
// Crc32 crc = new Crc32();
// try
// {
// entry = new ZipEntry(Path.Combine(ParentFolderName, Path.GetFileName(FolderToZip) + "/"));
// s.PutNextEntry(entry);
// s.Flush();
// filenames = Directory.GetFiles(FolderToZip);
// foreach (string file in filenames)
// {
// fs = File.OpenRead(file);
// byte[] buffer = new byte[fs.Length];
// fs.Read(buffer, 0, buffer.Length);
// entry = new ZipEntry(Path.Combine(ParentFolderName, Path.GetFileName(FolderToZip) + "/" + Path.GetFileName(file)));
// 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);
// }
// }
// catch
// {
// res = false;
// }
// finally
// {
// if (fs != null)
// {
// fs.Close();
// fs = null;
// }
// if (entry != null)
// {
// entry = null;
// }
// GC.Collect();
// GC.Collect(1);
// }
// folders = Directory.GetDirectories(FolderToZip);
// foreach (string folder in folders)
// {
// if (!ZipFileDictory(folder, s, Path.Combine(ParentFolderName, Path.GetFileName(FolderToZip))))
// {
// return false;
// }
// }
// return res;
// }
// /// <summary>
// /// 压缩目录
// /// </summary>
// /// <param name="FolderToZip">待压缩的文件夹,全路径格式</param>
// /// <param name="ZipedFile">压缩后的文件名,全路径格式</param>
// private static bool ZipFileDictory(string FolderToZip, string ZipedFile, int level)
// {
// bool res;
// if (!Directory.Exists(FolderToZip))
// {
// return false;
// }
// ZipOutputStream s = new ZipOutputStream(File.Create(ZipedFile));
// s.SetLevel(level);
// res = ZipFileDictory(FolderToZip, s, "");
// s.Finish();
// s.Close();
// return res;
// }
// /// <summary>
// /// 压缩文件
// /// </summary>
// /// <param name="FileToZip">要进行压缩的文件名</param>
// /// <param name="ZipedFile">压缩后生成的压缩文件名</param>
// private static bool ZipFile(string FileToZip, string ZipedFile, int level)
// {
// if (!File.Exists(FileToZip))
// {
// throw new System.IO.FileNotFoundException("指定要压缩的文件: " + FileToZip + " 不存在!");
// }
// FileStream ZipFile = null;
// ZipOutputStream ZipStream = null;
// ZipEntry ZipEntry = null;
// bool res = true;
// try
// {
// ZipFile = File.OpenRead(FileToZip);
// byte[] buffer = new byte[ZipFile.Length];
// ZipFile.Read(buffer, 0, buffer.Length);
// ZipFile.Close();
// ZipFile = File.Create(ZipedFile);
// ZipStream = new ZipOutputStream(ZipFile);
// ZipEntry = new ZipEntry(Path.GetFileName(FileToZip));
// ZipStream.PutNextEntry(ZipEntry);
// ZipStream.SetLevel(level);
// ZipStream.Write(buffer, 0, buffer.Length);
// }
// catch
// {
// res = false;
// }
// finally
// {
// if (ZipEntry != null)
// {
// ZipEntry = null;
// }
// if (ZipStream != null)
// {
// ZipStream.Finish();
// ZipStream.Close();
// }
// if (ZipFile != null)
// {
// ZipFile.Close();
// ZipFile = null;
// }
// GC.Collect();
// GC.Collect(1);
// }
// return res;
// }
// #endregion
// /// <summary>
// /// 压缩
// /// </summary>
// /// <param name="FileToZip">待压缩的文件目录</param>
// /// <param name="ZipedFile">生成的目标文件</param>
// /// <param name="level">6</param>
// public static bool Zip(String FileToZip, String ZipedFile, int level)
// {
// if (Directory.Exists(FileToZip))
// {
// return ZipFileDictory(FileToZip, ZipedFile, level);
// }
// else if (File.Exists(FileToZip))
// {
// return ZipFile(FileToZip, ZipedFile, level);
// }
// else
// {
// return false;
// }
// }
// /// <summary>
// /// 解压
// /// </summary>
// /// <param name="FileToUpZip">待解压的文件</param>
// /// <param name="ZipedFolder">解压目标存放目录</param>
// public static void UnZip(string FileToUpZip, string ZipedFolder)
// {
// if (!File.Exists(FileToUpZip))
// {
// return;
// }
// if (!Directory.Exists(ZipedFolder))
// {
// Directory.CreateDirectory(ZipedFolder);
// }
// ZipInputStream s = null;
// ZipEntry theEntry = null;
// string fileName;
// FileStream streamWriter = null;
// try
// {
// s = new ZipInputStream(File.OpenRead(FileToUpZip));
// while ((theEntry = s.GetNextEntry()) != null)
// {
// if (theEntry.Name != String.Empty)
// {
// fileName = Path.Combine(ZipedFolder, theEntry.Name);
// if (fileName.EndsWith("/") || fileName.EndsWith("\\"))
// {
// Directory.CreateDirectory(fileName);
// continue;
// }
// streamWriter = File.Create(fileName);
// int size = 2048;
// byte[] data = new byte[2048];
// while (true)
// {
// size = s.Read(data, 0, data.Length);
// if (size > 0)
// {
// streamWriter.Write(data, 0, size);
// }
// else
// {
// break;
// }
// }
// }
// }
// }
// finally
// {
// if (streamWriter != null)
// {
// streamWriter.Close();
// streamWriter = null;
// }
// if (theEntry != null)
// {
// theEntry = null;
// }
// if (s != null)
// {
// s.Close();
// s = null;
// }
// GC.Collect();
// GC.Collect(1);
// }
// }
// }
// public class ZipHelper
// {
// #region 私有变量
// String the_rar;
// RegistryKey the_Reg;
// Object the_Obj;
// String the_Info;
// ProcessStartInfo the_StartInfo;
// Process the_Process;
// #endregion
// /// <summary>
// /// 压缩
// /// </summary>
// /// <param name="zipname">要解压的文件名</param>
// /// <param name="zippath">要压缩的文件目录</param>
// /// <param name="dirpath">初始目录</param>
// public void EnZip(string zipname, string zippath, string dirpath)
// {
// try
// {
// the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\Shell\Open\Command");
// the_Obj = the_Reg.GetValue("");
// the_rar = the_Obj.ToString();
// the_Reg.Close();
// the_rar = the_rar.Substring(1, the_rar.Length - 7);
// the_Info = " a " + zipname + " " + zippath;
// the_StartInfo = new ProcessStartInfo();
// the_StartInfo.FileName = the_rar;
// the_StartInfo.Arguments = the_Info;
// the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
// the_StartInfo.WorkingDirectory = dirpath;
// the_Process = new Process();
// the_Process.StartInfo = the_StartInfo;
// the_Process.Start();
// }
// catch (Exception ex)
// {
// throw new Exception(ex.Message);
// }
// }
// /// <summary>
// /// 解压缩
// /// </summary>
// /// <param name="zipname">要解压的文件名</param>
// /// <param name="zippath">要解压的文件路径</param>
// public void DeZip(string zipname, string zippath)
// {
// try
// {
// the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRar.exe\Shell\Open\Command");
// the_Obj = the_Reg.GetValue("");
// the_rar = the_Obj.ToString();
// the_Reg.Close();
// the_rar = the_rar.Substring(1, the_rar.Length - 7);
// the_Info = " X " + zipname + " " + zippath;
// the_StartInfo = new ProcessStartInfo();
// the_StartInfo.FileName = the_rar;
// the_StartInfo.Arguments = the_Info;
// the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
// the_Process = new Process();
// the_Process.StartInfo = the_StartInfo;
// the_Process.Start();
// }
// catch (Exception ex)
// {
// throw new Exception(ex.Message);
// }
// }
// }
//}
- 新手,Visual Studio 2015 配置Boost库,如何编译和选择,遇到无法打开文件“libboost_thread-vc140-mt-gd-1_63.lib“的解决办法
1,到官网下载最新的boost,www.boost.org 这里我下载的1-63版本. 2,安装,解压后运行bootstrap.bat文件.稍等一小会就OK. 3,编译boost库.注意一定要使用VS ...
- ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock
ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock 通过终端安装程序sudo apt-get install xxx时出错:E: Could not ...
- OSG3.40 编译时,无法打开输入文件“optimized.lib”
解决方案: 正常情况下,下图中会多出一项:ZLIB_LIBRARY_RELEASE,之后屡次编译,都提示"无法打开输入文件"optimized.lib"" 因为 ...
- Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法
我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很 ...
- 解决VS2015安装后stdio.h ucrtd.lib等文件无法识别问题
今天突然想在windows上装个 VS2015 玩玩,结果遇到了如下bug:安装完 VS2015 后,直接新建项目->win32控制台->运行,结果报错!"无法打开包括文件: & ...
- locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory
# locate zabbix locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory locate ...
- 通过dll或def文件提取lib导入库文件
很多时候第三方库或其他项目提供的库多数会以动态库的形式提供dll以及相应的lib导入库.头文件,不过也有的只是提供dll和头文件,或者也提供了def模块定义(用于导出函数)文件,此时若使用将不得不调用 ...
- make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl] 错误 1,make: *** [out/host/linux-x86/obj/lib/libESR_Portable.so] 错误 1
错误3: g++: g++: selected multilib '32' not installed selected multilib '32' not installed make: *** [ ...
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
有时候,当我们使用"mysql"."mysqladmin"."mysqldump"等命令管理数据库时,服务器抛出类似如下错误: 一.错误现场 ...
随机推荐
- 【Git】Git hangs while unpacking objects (Windows)
Git hangs while unpacking objects (Windows) 14 Oct 2014 I'm not sure if this is because we're behind ...
- mssql性能优化
总结下SQL SERVER数据库性能优化相关的注意事项,在网上搜索了一下,发现很多文章,有的都列出了上百条,但是仔细看发现,有很多似是而非或者过时(可能对SQL SERVER6.5以前的版本或者ORA ...
- LintCode - Merge Two Sorted List
LintCode - Merge Two Sorted Lists LintCode - Merge Two Sorted Lists Web Link Description Code - C Ti ...
- JS里取前天,昨天和今天
var today=new Date(); var yesterday=new Date(today.getTime()-1000*60*60*24); var thedaybeforeyesterd ...
- Docker -CentOS 6.5上安装
开始安装daoker之旅: 1. [root@localhost ~]# uname -r -.el6.x86_64 2. [root@localhost ~]# cat /etc/issue Cen ...
- iOS-仿支付宝加载web网页添加进度条
代码地址如下:http://www.demodashi.com/demo/11727.html 目前市场上APP常会嵌入不少的h5页面,参照支付宝显示web页面的方式, 做了一个导航栏下的加载进度条. ...
- 使用zTree插件构建树形菜单
zTree下载:https://github.com/zTree/zTree_v3 目录: 就我看来,zTree较为实用的有以下几点: zTree 是一个依靠 jQuery 实现的多功能 “树插件”. ...
- WP8学习笔记:如何在页面显示前自动转向到其他页面
在本次修练开始之前,我们除了预设的 MainPage页面外,也另外新增了一个 Login页面,如下图示: MainPage.xaml页面长这样 Login.xaml页面长这样 因为我们的需求是要求使用 ...
- Pattern Recognition and Machine Learning 模式识别与机器学习
模式识别(PR)领域: 关注的是利⽤计算机算法⾃动发现数据中的规律,以及使⽤这些规律采取将数据分类等⾏动. 聚类:目标是发现数据中相似样本的分组. 反馈学习:是在给定的条件下,找到合适的动作, ...
- win10下iis绑定局域网ip无效的解决方案
win7不会出现此问题 win10会 win8未测试 问题描述 <binding protocol="http" bindingInformation="*:808 ...