J'ai des fichiers dans un dossier. Je veux récupérer les fichiers de ce dossier et convertir chaque fichier en un objet de flux binaire et stocker dans une collection. Et à partir de la collection, je veux récupérer chaque objet de flux binaire. Comment est-il possible d'utiliser ASP.Net avec C#?Récupère les fichiers du dossier
Répondre
Si vous souhaitez l'avoir stocké dans un MemoryStream, vous pouvez essayer
List<MemoryStream> list = new List<MemoryStream>();
string[] fileNames = Directory.GetFiles("Path");
for (int iFile = 0; iFile < fileNames.Length; iFile++)
{
using (FileStream fs = new FileStream(fileNames[iFile], FileMode.Open))
{
byte[] b = new byte[fs.Length];
fs.Read(b, 0, (int)fs.Length);
list.Add(new MemoryStream(b));
}
}
ou même utiliser un dictionnaire si vous souhaitez conserver la noms de fichiers en tant que clés
Dictionary<string, MemoryStream> files = new Dictionary<string, MemoryStream>();
string[] fileNames = Directory.GetFiles("Path");
for (int iFile = 0; iFile < fileNames.Length; iFile++)
{
using (FileStream fs = new FileStream(fileNames[iFile], FileMode.Open))
{
byte[] b = new byte[fs.Length];
fs.Read(b, 0, (int)fs.Length);
files.Add(Path.GetFileName(fileNames[iFile]), new MemoryStream(b));
}
}
Il peut être aussi simple que cela:
using System;
using System.Collections.Generic;
using System.IO;
List<FileStream> files = new List<FileStream>();
foreach (string file in Directory.GetFiles("yourPath"))
{
files.Add(new FileStream(file, FileMode.Open, FileAccess.ReadWrite));
}
Mais dans l'ensemble, le stockage FileStream
s comme cela ne semble pas une bonne idée et ne mendie des ennuis. Les handles de fichiers sont une ressource limitée dans n'importe quel système d'exploitation, donc ils ne sont pas très gentils. Il vaudrait mieux que vous accédiez aux fichiers au besoin plutôt que de simplement les garder ouverts à votre guise. Par conséquent, stocker uniquement les chemins et accéder aux fichiers selon les besoins peut être une meilleure option.
using System;
using System.Collections.Generic;
using System.IO;
List<String> files = new List<String>();
foreach (string file in Directory.GetFiles("yourPath"))
{
files.Add(file);
}
Cela peut être fait en utilisant DirectoryInfo et FileInfo classes. Voici un code qui devrait, espérons-le faire ce dont vous avez besoin:
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(@"C:\TempDir\");
if (dir.Exists)
{
foreach (System.IO.FileInfo fi in dir.GetFiles())
{
System.IO.StreamReader sr = new System.IO.StreamReader(fi.OpenRead());
// do what you will....
sr.Close();
}
}
- 1. Récupère les éléments sélectionnés du dossier avec WinAPI
- 2. Impossible d'obtenir les fichiers du dossier temporaire
- 3. récupère le nom du dossier du parent immédiat
- 4. Supprimer des fichiers du dossier
- 5. Fichiers de processus SSIS du dossier
- 6. Déplacez les fichiers du référentiel sous un dossier différent
- 7. Script Batch pour renommer les fichiers dans l'argument du dossier
- 8. Dossier standard pour les fichiers de sortie du programme
- 9. Supprimer les fichiers du dossier de plus de 4 jours
- 10. Déterminez quand les fichiers du dossier changent à la demande
- 11. Récupère les informations sur les fichiers en variables?
- 12. Récupère les éléments du niveau hiérarchique spécifique
- 13. Récupère les valeurs du fichier appelé
- 14. Récupère les valeurs vérifiées du tableau
- 15. Récupère le contenu du dossier local en javascript (ou ASP.NET VB)
- 16. Récupère les valeurs des fichiers * .resx dans XAML
- 17. lire les fichiers dans le dossier
- 18. Boucler les fichiers dans un dossier
- 19. Dossier standard pour les fichiers .so
- 20. Vbscript - Comparer et copier des fichiers du dossier si plus récents que les fichiers de destination
- 21. makefile NMAKE, reliant les fichiers objets dans un sous-dossier
- 22. Récupère les fichiers de documentation XML à partir du script TFS Team Build
- 23. Retour des fichiers uniquement à partir du dossier spécifique
- 24. Supprimez les fichiers indésirables et les dossiers de dossier de destination par rapport au dossier source
- 25. Fichiers de thème Drupal en dehors du dossier de thème
- 26. Récupère la liste des fichiers de l'URL
- 27. Où l'Explorateur Windows récupère-t-il ses icônes "dossier précédent" et "dossier"?
- 28. Copie de fichiers du sous-dossier vers le dossier à l'aide de SSH
- 29. Supprimer les fichiers .listing récursivement du système de fichiers Windows
- 30. PHP: télécharger des fichiers dans le dossier partagé du réseau