Получать FileStream N файлы

Привет всем, поскольку я могу сохранять в договоренности stream файлов, хранившихся в папке. это мой код:

string ruta = @"C:\";
foreach (string s in Directory.GetFiles(ruta))
{
 //Obtengo en (s) todos los archivos almacenado en la carpeta
 FileStream filestr= File.OpenRead(s);    
 }

Я сохраняю в переменной filestr stream файла s, но этот изменится так же как пробегите foreach, существует какой-то способ сохранять stream каждого файла, в договоренности, чтобы позже это использовать.

1
задан 23.01.2017, 21:42
0 ответов

Ты мог бы создавать array FileStream, чтобы распределять каждое чтение

List<FileStream> list = new List<FileStream>();

string ruta = @"C:\";
foreach (string s in Directory.GetFiles(ruta))
{
    FileStream filestr = File.OpenRead(s);   
    list.Add(filestr);
}

также я не думаю, что он рекомендуется, поддерживать в памяти многие сохранило в архиве отверстия, потому что он помнит, что они останутся блокированными пока они под чтением

Заметь: не определяй как маршрут c:\ он для проблем

>>, но поскольку я могу закрывать filestream

Если у тебя есть список, ты мог бы повторять ее, чтобы закрывать каждый открытый файл

foreach(var file in list){
  file.Close();
}
3
ответ дан 03.12.2019, 17:31
  • 1
    Большое спасибо Алехандро, но поскольку я могу закрывать filestream немного, как filestr.EndRead, я прочитал, немного но как присоединять часть Async –  24.01.2017, 21:27
  • 2
    если у тебя есть список, ты мог бы повторять ее, чтобы закрывать каждый открытый файл –  25.01.2017, 03:48