Я пытаюсь создать новый объект FileStream из байтового массива. Я уверен, что это не имело никакого смысла, поэтому я попытаюсь объяснить более подробно ниже.
Задачи, которые я выполняю:
1) Чтение исходного файла, который ранее был сжатым
2) Распаковка данных с использованием GZipStream
3) копирование распакованных данных в байтовый массив.
Что бы я хотел изменить:
1) Я хотел бы иметь возможность использовать File.ReadAllBytes для чтения распакованных данных.
2) Затем я хотел бы создать новый объект файлового потока, используя этот байтовый массив.
Короче говоря, я хочу выполнить всю эту операцию, используя байтовые массивы. Один из параметров GZipStream - это какой-то поток, поэтому я решил, что застрял, используя файловый поток. Но если существует какой-то метод, в котором я могу создать новый экземпляр FileStream из байтового массива - тогда все будет в порядке.
Вот что у меня есть:
FolderBrowserDialog fbd = new FolderBrowserDialog(); // Shows a browser dialog
fbd.ShowDialog();
// Path to directory of files to compress and decompress.
string dirpath = fbd.SelectedPath;
DirectoryInfo di = new DirectoryInfo(dirpath);
foreach (FileInfo fi in di.GetFiles())
{
zip.Program.Decompress(fi);
}
// Get the stream of the source file.
using (FileStream inFile = fi.OpenRead())
{
//Create the decompressed file.
string outfile = @"C:\Decompressed.exe";
{
using (GZipStream Decompress = new GZipStream(inFile,
CompressionMode.Decompress))
{
byte[] b = new byte[blen.Length];
Decompress.Read(b,0,b.Length);
File.WriteAllBytes(outfile, b);
}
}
}
Спасибо за любую помощь!
С Уважением,
Evan