- 浏览: 233135 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
net_liu:
zxptian 写道楼主能把TransferFiles也贴出来 ...
c# Socket 文件的传输 -
zxptian:
楼主能把TransferFiles也贴出来分享下吗?
c# Socket 文件的传输
Zip文件压缩和解压主要方法:
/// <summary> /// 创建压缩方法 /// </summary> /// <param name="filesPath">文件目录</param> /// <param name="zipFilePath">保存目录</param> private static void CreateZipFile(string filesPath, string zipFilePath) { if (!Directory.Exists(filesPath)) { Console.WriteLine("Cannot find directory '{0}'", filesPath); return; } try { string[] filenames = Directory.GetFiles(filesPath); using (ZipOutputStream s = new ZipOutputStream(File.Create(zipFilePath))) { s.SetLevel(9); // 压缩级别 0-9 //s.Password = "123"; //Zip压缩文件密码 byte[] buffer = new byte[4096]; //缓冲区大小 foreach (string file in filenames) { ZipEntry entry = new ZipEntry(Path.GetFileName(file)); entry.DateTime = DateTime.Now; s.PutNextEntry(entry); using (FileStream fs = File.OpenRead(file)) { int sourceBytes; do { sourceBytes = fs.Read(buffer, 0, buffer.Length); s.Write(buffer, 0, sourceBytes); } while (sourceBytes > 0); } } s.Finish(); s.Close(); } } catch (Exception ex) { Console.WriteLine("Exception during processing {0}", ex); } } /// <summary> /// 解压缩的方法 /// </summary> /// <param name="zipFilePath">解压文件的路径</param> private static void UnZipFile(string zipFilePath) { if (!File.Exists(zipFilePath)) { Console.WriteLine("Cannot find file '{0}'", zipFilePath); return; } using (ZipInputStream s = new ZipInputStream(File.OpenRead(zipFilePath))) { ZipEntry theEntry; while ((theEntry = s.GetNextEntry()) != null) { Console.WriteLine(theEntry.Name); string directoryName = Path.GetDirectoryName(theEntry.Name); string fileName = Path.GetFileName(theEntry.Name); // create directory if (directoryName.Length > 0) { Directory.CreateDirectory(directoryName); } if (fileName != String.Empty) { using (FileStream streamWriter = File.Create(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; } } } } } } }
调用方法:
static void Main(string[] args) { // CreateZipFile(@"D:\Save", @"D:\Pic\save.rar"); UnZipFile(@"D:\Pic\save.rar"); Console.ReadKey(); }
- ICSharpCode.rar (41.2 KB)
- 下载次数: 24
发表评论
-
List转DataTable(反射)
2012-02-06 10:48 2742List转DataTable(反射) // ... -
DataTable转泛型
2012-01-31 17:39 1279DataTable转泛型 public clas ... -
利用鼠标钩子将鼠标中键转为左键
2011-05-04 13:50 1646利用鼠标钩子将鼠标中键转为左键 鼠标 ... -
C# 命名规范
2011-04-01 13:32 1971C# 命名规范 文章分类:.net编程 ... -
VS2008 快捷键大全
2011-04-01 13:30 916VS2008 快捷键大全[转帖] 文章分类 ... -
C# 中的委托和事件
2011-04-01 13:26 1287缩略显示 C# 中的委托和事件 文章 ... -
C#Winform限制Textbox只能输入数字
2011-04-01 13:20 7482C#Winform限制Textbox ... -
C# 跳转语句(break,continue,goto,return,throw)
2011-04-01 12:38 3441C# 跳转语句(break,continue,goto,r ... -
C#窗体固定在桌面上
2010-11-19 10:25 1653[DllImport("user32.dll& ... -
if-else 都输出的方法
2010-10-12 11:44 1309if-else 都输出的方法 if (new Func< ... -
反射技术
2010-09-15 17:42 924什么是反射? 反射就 ... -
发一个接口做参数的例子
2010-08-06 08:48 960发一个接口做参数的例子 回头接口 using System ... -
C#中使用正则表达式
2010-08-04 13:39 1339C#中的正则表达式包含 ... -
C#的几个技巧
2010-08-04 13:35 8501.如果可能尽量使用接 ... -
反射动态调用类成员
2010-08-04 13:30 984使用反射动态调用类成员,需要Type类的一个方法:Invoke ... -
在vs2005中发送邮件
2010-08-03 16:14 1148在vs2005中发送邮件的方法如下: ... -
XML数据排序
2010-06-30 14:20 3408根据XML数据的Index 来进行排序 方法一: ... -
程序动态升级版本
2010-06-30 10:00 1000C#实现程序动态升级版本。通过反射获取本地版本,然后跟服务器中 ... -
将DataGridView 数据导出到Excel
2010-06-25 15:46 5096/// <summary> ... -
将Excel导入到Oracle
2010-06-25 15:39 5420private void btnInsert_Click(o ...
相关推荐
zip文件压缩和解压工具类: 1.compressDirectory该方法提供将一个目录压缩为一个压缩包 2.unzip该方法提供解压缩文件
在Java编程环境中,处理压缩和解压缩文件是一...以上是关于Java实现带密码的ZIP文件压缩和解压的基本概念和实现细节。通过深入理解这些知识点,开发者可以构建自己的安全文件处理工具,满足对数据隐私和安全性的需求。
实现zip文件的压缩,我们通常会遍历要压缩的目录,递归地将每个文件添加到`zip`档案中。这需要使用`minizip`的`zipOpen`、`zipOpenNewFileInZip`、`zipWriteInFileInZip`和`zipCloseFileInZip`等函数。同时,对于每...
总结来说,`zip文件压缩解压源码(C++)`涉及的关键技术包括:理解zip文件格式,使用C++进行文件操作,选择和应用压缩算法,以及错误处理。通过分析和理解`XUnzip.cpp`和`XZip.cpp`,我们可以学习如何在C++环境中...
VB6.0调用 DLL版ZIP压缩文件夹目录和解压ZIP文件,网上很多源码不好用,所以就自己做了一个。原始代码是VC++的用VS2019编译了一个,DLL封装了下。调用很简单 '调用方法如下: 'CreateZipFileA "C:\123", "C:\123.zip...
本篇文章将详细讲解ZIP压缩和解压类的相关知识,以及如何封装一个简单的ZIP文件处理接口。 一、ZIP文件格式基础 ZIP是一种流行的文件存档格式,它允许将多个文件和目录打包成一个单一的文件。ZIP文件内部包含了一个...
Java操作Zip文件主要涉及到对文件和目录的压缩与解压缩,以及在必要时对压缩文件进行加密处理。这里我们重点讨论使用两个库:`zip4j`和`Apache Ant`来实现这些功能。 1. **zip4j库**:`zip4j-1.3.2.jar`是一个用...
总之,C语言实现ZIP压缩解压涉及文件操作、数据压缩算法和ZIP文件格式的理解。通过学习和应用相关库,开发者可以创建自己的ZIP工具,满足特定的需求。这个过程既锻炼了C语言编程技能,也加深了对文件压缩技术的理解...
3. **ZIP 文件格式**:一种广泛使用的文件压缩与存档格式,能够将多个文件及目录压缩成一个单一的ZIP文件,同时支持文件的加密保护。 #### 二、压缩 ZIP 文件 ##### 代码解析 ```vbscript Sub Zip(ByVal ...
在IT领域,文件压缩是一种常见的数据管理技术,用于减少文件大小,便于存储、传输和分享。Zip格式是最常用的文件压缩格式之一,它允许用户将多个文件和文件夹打包成一个单一的Zip档案,大大节省了磁盘空间。本文将...
下面我们将详细介绍如何进行ZIP文件的压缩和解压。 ### ZIP文件的压缩 1. **Windows系统**:通过资源管理器右键菜单,选择“发送到”->“压缩(zipped)文件夹”,然后指定压缩后文件的保存位置即可。 2. **macOS**...
标题中的"C++ zip解压缩"指的是使用C++编程语言来处理ZIP文件格式,这是一种广泛使用的文件打包和压缩格式。ZIP文件可以将多个文件和目录组合到一个单一的档案文件中,并且可以进行压缩以节省存储空间。C++库提供了...
总结,Java的`java.util.zip`包提供了解决ZIP文件压缩和解压需求的工具。通过`ZipOutputStream`和`ZipInputStream`,我们可以方便地处理ZIP文件,无论是创建新的ZIP文件,还是读取和提取已有的ZIP文件。同时,这些...
ZIP是一种通用的文件压缩格式,它允许将多个文件和目录打包成单个文件,并可以同时进行压缩。ZIP文件内部包含了一个文件头列表,每个文件头包含了文件名、压缩方法、压缩时间等信息。 接下来,我们将探讨如何在C++...
Android SDK提供了解压缩ZIP文件的工具类`ZipFile`和`InputStream`。以下是一个简单的解压流程: 1. 打开`assets`目录下的ZIP文件: ```java AssetManager assetManager = getAssets(); InputStream is = null; ...
在IT行业中,MFC(Microsoft Foundation Classes)是一个C++...通过`unzip.cpp`、`zip.cpp`、`unzip.h`和`zip.h`这四个文件,我们可以学习到如何将这些技术整合到MFC应用程序中,为用户提供便捷的文件压缩和解压功能。
总结来说,Java的`java.util.zip`包提供了解决ZIP文件压缩和解压的强大工具。通过`ZipOutputStream`和`ZipInputStream`,开发者可以轻松地将多个文件打包成ZIP文件,或者将ZIP文件中的内容解压到指定的目录。这在...
总结来说,这个PHP在线压缩解压ZIP文件的工具是一个基于Web的实用程序,它利用PHP的ZipArchive类处理ZIP文件的压缩和解压。通过密码保护机制,它可以提供一定程度的安全性。实现这一功能的核心代码可能分布在unzip....
在Java编程环境中,解压ZIP压缩文件是一项常见的任务,它涉及到文件I/O操作以及对ZIP文件格式的理解。本文将深入探讨如何使用Java实现这一功能,同时也会提及`UnZip.java`和`UnZip2.java`这两个文件可能包含的实现...