用c#的ZipFile库进行文件压缩后,多余父目录问题。

Fingter 2010-01-02 06:34:45
目的,去除压缩包内目录,直接文件。

using (ZipFile zip = new ZipFile())
{

zip.AddFile(@"c:\abc\edf\123.xml");

zip.Save(@"D:\zip\test.zip");
}


但压缩完成后,压缩包内的文件路径被保留原来的路径test.zip(\abc\edf\123.xml),而我希望压缩包内只有一个文件,没有目录test.zip(123.xml)。
...全文
1070 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈哈潜伏哥 2010-01-03
  • 打赏
  • 举报
回复
可以考虑在加入压缩包之前,先将要压缩的文件移动到同一个目录下去,然后再将那个移动后的目录下全部文件加入压缩包。
jflanmay 2010-01-03
  • 打赏
  • 举报
回复
一起关注
zagj11 2010-01-03
  • 打赏
  • 举报
回复
学习。。。。ing
lzsh0622 2010-01-02
  • 打赏
  • 举报
回复 1
[Quote=引用 3 楼 fingter 的回复:]
未能找到文件
[/Quote]

注意:要切换当前目录


using (ZipFile zip = new ZipFile("D:\\1.zip"))
{
string currentDirectory = Directory.GetCurrentDirectory();
Directory.SetCurrentDirectory("c:\\TEMP\\"); // 临时切换当前目录到 c:\\TEMP\\
zip.AddFile("1.TXT");
Directory.SetCurrentDirectory(currentDirectory); // 恢复当前目录
zip.Save();
}
Fingter 2010-01-02
  • 打赏
  • 举报
回复
TO lzsh0622
zip.AddFile("123.xml"); 不行,
未能找到文件“D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\icpSbXzba.xml”。他会自动找到visual studio下面的目录
lzsh0622 2010-01-02
  • 打赏
  • 举报
回复
试试:
// 切换当前目录到 c:\abc\edf
zip.AddFile("123.xml");
zip.Save(@"D:\zip\test.zip");
wuyq11 2010-01-02
  • 打赏
  • 举报
回复
把所有文件移动到一个目录实现压缩

111,088

社区成员

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

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

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