(C#)winform中实现选择一个文件夹,将其压缩复制到另外一个路径

第三行代码 2010-04-23 02:36:20
(C#)winform中实现选择一个文件夹,将其压缩复制到另外一个路径

请教各位了。
...全文
225 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
skep99 2010-04-23
  • 打赏
  • 举报
回复
//单个文件创建zip文件
public static string createZipfile(string path)
{
int m = 1;//块大小,单位兆
try
{
Crc32 crc = new Crc32();
ZipOutputStream zipout = new ZipOutputStream(File.Create(path + ".zip"));
FileStream fs = File.OpenRead(path);
long pai = 1024 * 1024 * m;//每m兆写一次
long forint = fs.Length / pai + 1;
byte[] buffer = null;
ZipEntry entry = new ZipEntry(Path.GetFileName(path));
entry.Size = fs.Length;
entry.DateTime = DateTime.Now;
zipout.PutNextEntry(entry);

for (long i = 1; i <= forint; i++)
{
if (pai * i < fs.Length)
{
buffer = new byte[pai];
fs.Seek(pai * (i - 1), SeekOrigin.Begin);
}
else
{
if (fs.Length < pai)
{
buffer = new byte[fs.Length];
}
else
{
buffer = new byte[fs.Length - pai * (i - 1)];
fs.Seek(pai * (i - 1), SeekOrigin.Begin);
}
}
fs.Read(buffer, 0, buffer.Length);
crc.Reset();
crc.Update(buffer);
zipout.Write(buffer, 0, buffer.Length);
zipout.Flush();
}
//this.byteFile = buffer;
fs.Close();
zipout.Finish();
zipout.Close();
//File.Delete(path); //删除原文件
return path + ".zip";
}
catch (Exception ex)
{
string str = ex.Message;
return path;
}
}
nbhx2010 2010-04-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhujiazhi 的回复:]

ICSharpCode.SharpZipLib.dll
[/Quote]

顶这个
zhujiazhi 2010-04-23
  • 打赏
  • 举报
回复
ICSharpCode.SharpZipLib.dll
xshf12345 2010-04-23
  • 打赏
  • 举报
回复
参考http://www.fly010.net/new1957.html
xshf12345 2010-04-23
  • 打赏
  • 举报
回复
如果加分的话,我可以写好了发给你,呵呵
学生个人文件管理系统 v2.0 A.声明: 1.非源代码。 2.有些用户没有设置自己的数据库服务器就直接登录或者注册,这样是不会成的, 请选择自定义服务器,然后填入自己的IP,数据库用户名以及密码,因为默认服 务器的IP是192.168.0.252. 3.暂不支持拖拽功能(将文件拖进去就能上传) 4.每隔10分钟系统会锁定一次,以防止其他用户恶意操作数据,需解锁请输入自己 的登录密码。【暂不支持设置间隔时间或者设置是否采取锁定策略】 5.暂不支持修改上传后的文件的属性(类别等) 6.在Win7上运行时需要管理员权限,请以管理员方式运行本程序。 B.新版特性: 1.修正了大文件上传或下载时服务器超时的Bug. 可上传500M以内的单个文件.(在空间大小足够的前提下) 2.修正了客户端上传文件的时间与服务器时间不同步的Bug, 同时在充分考虑服务器性能的前提下,给客户端提供了正 确的时间。 3.新增数据库压缩功能,针对数据库日志文件动辄上G的问题 提供了解决方案,使客户端用户使用更流畅。(管理员功能) 4.(2011-03-14)纠正了数据创建时错误,适应SQLServer不同 版本的数据库;纠正了在SQLServer下不同版本数据库备份时路径 错误问题。 5.(2011-03-14)纠正了程序密码验证不区分大小写的错误。 6.(2011-03-18) 纠正了系统锁定后无法解锁的错误 2011-03-18 23:20 南充市扎针高手 李泽波

111,096

社区成员

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

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

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