- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 SharpZipLib压缩一个带有子目录的文件夹,这工作正常。我想做的是剥离第一个子文件的父目录,这样不相关的整个结构就不会被执行...
例子:
c:\a\b\c\d\e\f\g\h\file1.txt
c:\a\b\c\d\e\f\g\h\file2.txt
c:\a\b\c\d\e\f\g\h\i\file1.txt
c:\a\b\c\d\e\f\g\h\i\file2.txt
它应该是这样结束的:
file1.txt
file2.txt
i\file1.txt
i\file2.txt
我该怎么做?
这是我目前的代码:
ZipFile zipFile = new ZipFile(destinationArchive);
zipFile.BeginUpdate();
foreach (FileInfo file in sourceFiles)
{
zipFile.Add(file.FullName);
}
zipFile.CommitUpdate();
zipFile.Close();
最佳答案
改用 ZipOutputStream:
string[] sourceFiles = new [] { @"c:\a\b\c\d\e\f\g\h\file1.txt", @"c:\a\b\c\d\e\f\g\h\i\file1.txt" };
FileStream fileStream = File.Create(@"c:\temp\test.zip");
ZipOutputStream zipOut = new ZipOutputStream(fileStream);
string baseDir = @"c:\a\b\c\d\e\f\g\h\";
foreach (var sourceFile in sourceFiles)
{
ZipEntry entry = new ZipEntry(sourceFile.Replace(baseDir,""));
zipOut.PutNextEntry(entry);
FileStream inFile = File.OpenRead(sourceFile);
byte[] buffer = new byte[8192];
int bytesRead = 0;
while ((bytesRead = inFile.Read(buffer, 0, buffer.Length)) > 0)
{
zipOut.Write(buffer,0,bytesRead);
}
zipOut.CloseEntry();
}
zipOut.Close();
关于C# SharpZipLib 去除不相关的目录名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1350653/
我是pyOpenSSL的新用户,我想用下面的代码制作一个证书 from OpenSSL import crypto as c cert = c.X509() cert.add_extensions([
我有很多包含文件的目录。我想创建一个逗号分隔的 txt 文件,显示目录名称以及该特定目录中的文件,请参见下面的示例: 我在找什么: DirName,Filename 999,123.tif 999,1
如何通过linux命令行将以下文件名(Windows支持的格式)替换为自定义名称。以下仅是一个示例案例。我的测试目录中有 100 多个文件,因此我需要一种自动化方式,而不是为每个文件手动输入“mv”命
我正在制作一个用 PHP 上传文件的表单。这些是我的输入: $file_name = filter_input(INPUT_POST, 'file_name'); $file = filter_i
所以有一个 ftp 服务器(在 Windows 上运行),其中包含一些我需要在我的 vps 上同步的数据。我一直在使用 curlftpfs +rsync 成功地完成这项任务,但最近我不得不添加新目录来
我正在使用 C++ 和 GDAL,进行一些基本练习。我想要构建的其中一件事是创建一个程序,该程序从目录名称中读取其中的文件,然后在 foor 循环中读取数据集并将波段写入新的虚拟栅格。我设法使用 bo
这个问题在这里已经有了答案: What's better of require(dirname(__FILE__).'/'.'myParent.php') than just require('my
我是 ns3 的新手。我有一些用 C++ 编写的简单程序。 我通过以下命令运行我的 ns3 程序 exec "`dirname "$0"`"/../../waf "$@" 谁能解释一下上述线路的功能?
我之前使用的是 statik将文件嵌入到 Go 应用程序中。 在 Go 1.16 中我可以移除那些依赖 例如: //go:embed static var static embed.FS fs :=
我正在尝试使用 Android Studio 构建我的第一个 android 应用程序。不幸的是,每次我打开我的项目时,尝试运行它或 gradle assemble 它我都会收到以下错误: Gradl
谁能解决这个问题?我认为问题可能出在传递给创建文件函数时的 readstring() 参数中。我尝试通过剥离 '\n' 来解决它,但错误仍然存在。除了 readstring() 之外还有其他解决方
如何编写一个名为“abc”的 bash shell 脚本,它接受一个参数,一个目录的名称,并将扩展名“.xyz”添加到目录中所有还没有它的可见文件 我主要编写了更改当前目录中文件名的代码,但我无法让脚
我想知道一种方法是否比另一种更好。我一直在使用 $_SERVER 方法指向当前目录,但是这种方法比 realpath(dirname(_FILE_)) 方法更好还是有什么区别? 最佳答案 $_SERV
我正在尝试重新启动 Jenkins,但它没有说以下错误。有没有人对此有任何线索? $ service jenkins restart Shutting down Jenkins killproc: E
我必须远程传输位于不同目录中的文件。目录与 Google Drive 同步,每天都有新内容添加。我想运行一个每天运行一次的脚本,并将传输新的目录。我可以处理选择新目录的部分。我正在使用 MATLAB
我正在eclipse中构建一个android应用程序。我需要调用用C/C++编写的函数。 我设置了包括NDK,cygwin等在内的所有内容(询问是否需要更多详细信息),但是当我尝试运行该项目时,出现此
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我有这个代码: BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); System.out.print(
关闭。这个问题需要details or clarity .它目前不接受答案。 想改善这个问题吗?通过 editing this post 添加详细信息并澄清问题. 去年关闭。 Improve this
我是一名优秀的程序员,十分优秀!