Gzip dosyalarını indiren bazı kodlarım var ve bunları açıyor. Sorun şu ki, tüm dosyayı açmak için alamıyorum, sadece ilk 4096 bayt ve ardından yaklaşık 500 daha fazla okuyor.GZipStream tüm dosyayı okumıyor
Byte[] buffer = new Byte[4096];
int count = 0;
FileStream fileInput = new FileStream("input.gzip", FileMode.Open, FileAccess.Read, FileShare.Read);
FileStream fileOutput = new FileStream("output.dat", FileMode.Create, FileAccess.Write, FileShare.None);
GZipStream gzipStream = new GZipStream(fileInput, CompressionMode.Decompress, true);
// Read from gzip steam
while ((count = gzipStream.Read(buffer, 0, buffer.Length)) > 0)
{
// Write to output file
fileOutput.Write(buffer, 0, count);
}
// Close the streams
...
İndirilen dosyayı kontrol ettim; sıkıştırıldığında 13 MB ve bir XML dosyası içerir. XML dosyasını el ile açtım ve içeriğin tamamı orada. Ancak bu kodu kullanarak yaptığım zaman, sadece XML dosyasının başlangıcını çıkarır.
Bunun neden olabileceği konusunda herhangi bir fikri olan var mı?
kullanabilirsiniz. Bununla birlikte, bitirdiğim çalışma koduna baktım ve 'kullanma' bloklarına sarılmanın yanında sizinkilere benziyor. –
Flush() yöntemini mi arıyorsunuz? – n535
Flush() ile çalıştı, yardım etmedi. – Edgar