압축 된 CSV 파일의 첫 번째 줄만 읽으려고합니다. 아래 코드를 사용했지만 "GZIP 헤더의 매직 넘버가 정확하지 않습니다"라는 오류 메시지가 나타납니다. 분명히 GZIP과 ZIP은 동일한 형식이 아니지만 DotNetZipLib 라이브러리 나 SharpZip을 사용할 때조차도 작동하지 않는 것 같습니다.C# 읽기 전용 첫 번째 줄, 압축 된 텍스트 파일의 StreamReader 사용
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 파일을 처리 할 수있는 솔루션을 찾습니다. 또한 바이트 배열을 통해 괴상한 경로를 이동하고 첫 번째 행 (데이터 유형, 구분 기호 ...)의 정확한 내용에 대한 지식이 필요하므로 배열에서 첫 번째 행을 재구성해야합니다.
감사
예를 들어
GZip과 Zip이 동일하지 않기 때문에 우리에게 말한 오류가 있습니다. DotNetZipLib 또는 SharpZip을 사용하면 어떻게됩니까? –
"C# StreamReader를 사용하여 압축 된 파일을 읽는 방법"거기에 예제가있는 TONS가 있습니다. Matt – MethodMan
GZip과 Zip은 같은 것이 아닙니다. 반드시 DotNetZipLib 또는 SharpZip과 같은 것을 사용해야합니다. 시도한 코드를 게시 할 수 있습니까? 그리고 아마도 우리는 당신에게 조언 할 수 있습니까? –