0
У меня есть функция, которая должна извлечь файл .gz и загрузить его в память, вопрос в том, как я прочитал содержимое файла, как только он был загружен в память без необходимости сначала сохранить его на диск?Как читать содержимое файла txt, загруженного в память
public static void Decompress2(FileInfo fileToDecompress)
{
using (FileStream fileStream = fileToDecompress.OpenRead())
{
using (var memStream = new MemoryStream())
{
string currentFileName = fileToDecompress.FullName;
string newFileName = currentFileName.Remove(currentFileName.Length - fileToDecompress.Extension.Length);
using (FileStream decompressedFileStream = File.Create(newFileName))
{
using (GZipStream decompressionStream = new GZipStream(fileStream, CompressionMode.Decompress))
{
byte[] bytes = new byte[4096];
int n;
while ((n = decompressionStream.Read(bytes, 0, bytes.Length)) != 0)
{
memStream.Write(bytes, 0, n);
}
}
}
}
}
}
Вы можете использовать StreamReader и записать его как байты или двоичный код – user1956570
возможно дубликат - http://stackoverflow.com/a/2522921/ 1057667 –