【发布时间】:2013-11-06 18:26:05
【问题描述】:
我想遍历压缩存档的内容,并在内容可读的地方显示它们。我可以对基于文本的文件执行此操作,但似乎无法弄清楚如何从图像等内容中提取二进制数据。这是我所拥有的:
var zipArchive = new System.IO.Compression.ZipArchive(stream);
foreach (var entry in zipArchive.Entries)
{
using (var entryStream = entry.Open())
{
if (IsFileBinary(entry.Name))
{
using (BinaryReader br = new BinaryReader(entryStream))
{
//var fileSize = await reader.LoadAsync((uint)entryStream.Length);
var fileSize = br.BaseStream.Length;
byte[] read = br.ReadBytes((int)fileSize);
binaryContent = read;
我可以看到 zip 文件的内部,但调用 Length 会导致出现 OperationNotSupported 错误。另外,考虑到我得到一个 long 然后不得不转换为一个整数,感觉就像我错过了关于它应该如何工作的一些非常基本的东西。
【问题讨论】:
标签: c# windows-8 windows-runtime windows-store-apps