gpt4 book ai didi

C# 只读第一行,使用压缩文本文件的 StreamReader

转载 作者:行者123 更新时间:2023-11-30 18:39:38 27 4
gpt4 key购买 nike

我试图只读取压缩的 csv 文件的第一行。我使用了下面的代码,但出现错误“GZIP header 中的魔数(Magic Number)不正确”。显然,这与 GZIP 和 ZIP 格式不同这一事实有关,但即使使用 DotNetZipLib 库或 SharpZip,我似乎也无法正常工作。

using (GZipStream gzipStream = new GZipStream(File.OpenRead(fileName), CompressionMode.Decompress))
{
using(StreamReader sr = new StreamReader(gzipStream))
{
//Matt try something like this as a hint / starting point
While(sr.Read())
{
row = sr.ReadLine();
}

}
}

你们中有人知道如何处理标准 zip 文件(不是 gzip)并将内容流式传输到 StreamReader 对象,以便我可以轻松读取压缩文本文件的第一行吗?我不寻找在打开文本文件之前完全解压缩整个 zip 文件的解决方案。我正在寻找与上述类似的解决方案,但可以处理 zip 文件。我也不想通过字节数组走极客路线并且不得不从数组中重建第一行,因为它需要了解第一行的确切内容(数据类型,分隔符,...)。

谢谢

最佳答案

例如 Matt,您也可以查看此代码示例这使用 SharpZipLib 库

var zip = new ZipInputStream(File.OpenRead(@"C:\MyZips\myzip.zip"));
var filestream = new FileStream(@"C:\\MyZips\myzip.zip", FileMode.Open, FileAccess.Read);
ZipFile zipfile = new ZipFile(filestream);
ZipEntry item;
while ((item = zip.GetNextEntry()) != null)
{
Console.WriteLine(item.Name);
using (StreamReader s = new StreamReader(zipfile.GetInputStream(item)))
{
// stream with the file
Console.WriteLine(s.ReadToEnd());
}
}

关于C# 只读第一行,使用压缩文本文件的 StreamReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9382120/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com