109 votes

Lire les fichiers d'un dossier présent dans le projet

J'ai un projet C# (application console Windows). J'ai créé un dossier nommé Données projet intérieur. Il y a deux fichiers texte dans le dossier Data.

Comment puis-je lire les fichiers texte du dossier "Data". J'ai essayé les choses suivantes.

string[] files = File.ReadAllLines(@"Data\Names.txt")

Il affiche une erreur indiquant que le fichier n'a pas été trouvé.

J'ai vérifié certaines réponses de Stackoverflow postées auparavant et aucune d'entre elles ne fonctionne pour moi.

Comment puis-je procéder ? Merci !

160voto

Morbia Points 1004

Le code ci-dessous devrait fonctionner :

string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Data\Names.txt");
string[] files = File.ReadAllLines(path);

36voto

Massimiliano Peluso Points 13357

Cela dépend de l'endroit où se trouve votre dossier Data

Pour obtenir le répertoire où se trouve le fichier .exe :

AppDomain.CurrentDomain.BaseDirectory

Pour obtenir le répertoire courant :

Environment.CurrentDirectory

Ensuite, vous pouvez concaténer le chemin de votre répertoire ( @"\Data\Names.txt" )

22voto

Si vous avez besoin de récupérer tous les fichiers dans le dossier nommé 'Data', il suffit de le coder comme ci-dessous

string[] Documents = System.IO.Directory.GetFiles("../../Data/");

Maintenant, les "Documents" consistent en un tableau de noms d'objets complets de deux fichiers texte dans le dossier "Data".

18voto

Ziggler Points 105

J'ai un projet C# (application console Windows). J'ai créé un dossier nommé Images dans le projet. Il y a un fichier ico appelé MyIcon.ico. J'ai accédé à MyIcon.ico dans le dossier Images comme ci-dessous.

this.Icon = new Icon(@"../../Images/MyIcon.ico");

10voto

rickey Points 1822

Si l'option Copier toujours dans le répertoire de sortie est activée, essayez ce qui suit :

 Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
 String Root = Directory.GetCurrentDirectory();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X