C# 创建压缩文件
<span style="color: #0000ff">using</span> (FileStream streamReader =<span style="color: #000000"> File.OpenRead(fileName))
{
StreamUtils.Copy(streamReader,zipStream,buffer);
}
zipStream.CloseEntry();
</span><span style="color: #008000">//</span><span style="color: #008000"><a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>多个<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>
</span><span style="color: #008000">//</span><span style="color: #008000">如果要压缩一个<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>夹,就是通过遍历<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a><a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>夹下所有的<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a></span>
<span style="color: #0000ff">string</span> fileName2 = <span style="color: #800000">@"</span><span style="color: #800000">G:\share\web.dll</span><span style="color: #800000">"</span><span style="color: #000000">;
FileInfo fi2 </span>= <span style="color: #0000ff">new</span><span style="color: #000000"> FileInfo(fileName2);
</span><span style="color: #008000">//</span><span style="color: #008000"><a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>在压缩包中的路径</span>
<span style="color: #0000ff">string</span> entryName2 = <span style="color: #800000">"</span><span style="color: #800000">share\\web.dll</span><span style="color: #800000">"</span><span style="color: #000000">;
ZipEntry newEntry2 </span>= <span style="color: #0000ff">new</span><span style="color: #000000"> ZipEntry(entryName2);
newEntry2.DateTime </span>=<span style="color: #000000"> fi2.LastWriteTime;
newEntry2.Size </span>=<span style="color: #000000"> fi2.Length;
zipStream.PutNextEntry(newEntry2);
</span><span style="color: #0000ff">byte</span>[] buffer2 = <span style="color: #0000ff">new</span> <span style="color: #0000ff">byte</span>[<span style="color: #800080">4096</span><span style="color: #000000">];
</span><span style="color: #0000ff">using</span> (FileStream streamReader =<span style="color: #000000"> File.OpenRead(fileName2))
{
StreamUtils.Copy(streamReader,buffer2);
}
zipStream.CloseEntry();
</span><span style="color: #008000">//</span><span style="color: #008000">使用流操作时一定要设置IsStreamOwner为false。否则很容易发生在<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>流<a href="https://www.jb51.cc/tag/guanbi/" target="_blank" class="keywords">关闭</a>后的异常。</span><span style="color: #000000">
zipStream.IsStreamOwner </span>= <span style="color: #0000ff">false</span><span style="color: #000000">;
zipStream.Finish();
zipStream.Close();
}
}
ZipEntry entry =
zipStream.IsStreamOwner =
zipStream.Close();
}
}
ZipEntry entry =
zipStream.Write(string1,string1.Length);
zipStream.CloseEntry();
zipStream.IsStreamOwner =
zipStream.Close();
ms.Position = </span><span style="color: #008000">//</span><span style="color: #008000">压缩后的数据被保存到了byte[]数组中。</span><span style="color: #000000">
result </span>=<span style="color: #000000"> ms.ToArray();
}
}
}
entry.IsUnicodeText =
总结
以上是Typecho合集站为你收集整理的C# 创建压缩文件全部内容,希望文章能够帮你解决C# 创建压缩文件所遇到的程序开发问题。
如果觉得Typecho合集站网站内容还不错,欢迎将Typecho合集站网站推荐给程序员好友。