using (var fileStream = new FileStream(zipFile, FileMode.OpenOrCreate))
{
using (ZipArchive zip = new ZipArchive(fileStream, ZipArchiveMode.Create))
{
var entry = zip.CreateEntry(/*压缩包内的相对路径*/, CompressionLevel.Fastest);
using (Stream zip= entry.Open())
{
byte[] buffer = new byte[4096];
using (FileStream fs = File.OpenRead(aFile))
{
int sourceBytes;
do
{
sourceBytes = fs.Read(buffer, 0, buffer.Length);
zip.Write(buffer, 0, sourceBytes);
} while (sourceBytes > 0);
fs.Close();
}
}
}
}
ZipArchiveMode为create时,我测试用的6GB文件压缩正常
ZipArchiveMode为update时,zip.Write(buffer, 0, sourceBytes)这里就会报错,显示内存溢出
以前都是用第三方的库,不是很了解.net自带的这个
想问下是为什么create不会报错而update会报错
解决方案 »
- 用线程写的回调方法里的提示信息提示不出来?
- c#中的DataGridView.AutoResizeColumns()何时起作用?
- 帮帮忙给看看这个程序
- 图像的局部刷新。。pictureBox
- datagridview的单元格验证
- 如何读取http包中的内容
- 如何自己写程序实现类似.net中的“.”的功能
- 菜鸟问题!求一个SQL语句!关于怎样把数据唯一的插入到数据表里!!
- 两个问题.哪有那么多需要开发的软件. 和 风险性有多大..
- .aspx文件中关于javascript控制下拉框状态(disabled)问题。请求帮助
- 求一简单SQL
- 我的devexpress里为什么没有PrintingSystem控件
就像很多软件,更新是先把新版本下载回来,再覆盖掉老的版本
在更新过程中某个时间点,新老版本是同时存在的
查找了下关于这方面的资料还很少
查找了下关于这方面的资料还很少对于这么大的文件,尝试先看压缩包里存不存在,存在的话先删掉,再更新
有想法的dalao们可以踊跃发言啊