我正在尝试使用MemoryStream如下的简单演示文本文件创建ZIP存档:
using (var memoryStream = new MemoryStream())
using (var archive = new ZipArchive(memoryStream , ZipArchiveMode.Create))
{
var demoFile = archive.CreateEntry("foo.txt");
using (var entryStream = demoFile.Open())
using (var streamWriter = new StreamWriter(entryStream))
{
streamWriter.Write("Bar!");
}
using (var fileStream = new FileStream(@"C:\Temp\test.zip", FileMode.Create))
{
stream.CopyTo(fileStream);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我运行此代码,则会创建存档文件本身,但不会创建foo.txt.
但是,如果我MemoryStream直接替换文件流,则会正确创建存档:
using (var fileStream = new FileStream(@"C:\Temp\test.zip", FileMode.Create))
using (var archive = new ZipArchive(fileStream, FileMode.Create))
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
是否可以使用a MemoryStream创建ZIP存档而不用FileStream?
我有一个问题,我在Linux服务器上安装'Archive_Zip 0.1.1',但是当我尝试运行脚本来创建zip文件时,它会给出致命的错误
致命错误:
ZipArchive在...中找不到类
我把代码放在哪里
$zip = new ZipArchive;
var_dump($zip);
$res = $zip->open($filename, ZipArchive::OVERWRITE);
if ($res !== TRUE) {
echo 'Error: Unable to create zip file';
exit;
}
if (is_file($src)) {
$zip->addFile($src);
} else {
// echo "<br>" . dirname(__FILE__) . $src;//'/install1';
if (!is_dir($src)) {
$zip->close();
@unlink($filename);
echo 'Error: File not found';
exit;
}
recurse_zip($src, $zip, $path_length);
}
$zip->close();
echo "<br>file name ".$filename;
Run Code Online (Sandbox Code Playgroud)
但它找不到类文件.
请告诉我解决方案.我该怎么做才能解决问题?我也把php.ini文件放到脚本所在的文件夹中,但它不起作用.
当我在Mac OSX中使用内置的zip压缩器压缩文件时,会导致在提取的zip中创建一个名为"__MACOSX"的额外文件夹.
我可以调整设置以防止创建此文件夹,还是需要购买第三方压缩工具?
更新:我刚刚找到OSX的免费应用程序解决了我的问题:" YemuZip "
更新2:YemuZip不再是免费软件
是否有一个内置函数,zip()但它会填充结果,以便结果列表的长度是最长输入的长度而不是最短的输入?
>>> a=['a1']
>>> b=['b1','b2','b3']
>>> c=['c1','c2']
>>> zip(a,b,c)
[('a1', 'b1', 'c1')]
>>> What command goes here?
[('a1', 'b1', 'c1'), (None, 'b2', 'c2'), (None, 'b3', None)]
Run Code Online (Sandbox Code Playgroud) 我正在开发一个简单的php上传脚本,用户只能上传ZIP和RAR文件.
我应该使用哪些MIME类型来检查$_FILES[x][type]?(请完整清单)
谢谢..
我有一个动态文本文件,根据用户的查询从数据库中选择内容.我必须将此内容写入文本文件并将其压缩到servlet中的文件夹中.我该怎么做?
如果没有准备好的下载,如何从Google Code下载整个项目的ZIP文件?
这是我在结帐页面上看到的:
命令行访问
使用此命令匿名检出最新的项目源代码:
svn checkout http://myproject.googlecode.com/svn/trunk/ myproject-read-only
Run Code Online (Sandbox Code Playgroud)
但是我在Windows上工作,我没有svn二进制文件......我需要这些吗?
我可以访问单个源代码文件或查看Subversion HTML页面,但这只允许我逐个访问源代码文件.
@EZGraphs在Twitter上写道:"很多在线csv都是压缩的.有没有办法下载,解压缩档案,并使用R?#Rstats将数据加载到data.frame"
我今天也试图这样做,但最终只是手动下载zip文件.
我尝试过类似的东西:
fileName <- "http://www.newcl.org/data/zipfiles/a1.zip"
con1 <- unz(fileName, filename="a1.dat", open = "r")
Run Code Online (Sandbox Code Playgroud)
但我觉得我还有很长的路要走.有什么想法吗?
zip ×10
compression ×2
php ×2
ziparchive ×2
.net ×1
c# ×1
cmd ×1
connection ×1
google-code ×1
java ×1
list ×1
macos ×1
mime-types ×1
python ×1
r ×1
rar ×1
tar ×1
unix ×1