2017-08-28 1 views
0

J'ai un fichier dans mon application sur le répertoire racine.Comment faire pour reculer deux dossiers

Quand je suis en utilisant le code ci-dessous:

string startupPat = System.IO.Directory.GetCurrentDirectory(); 

Il prend aussi ... \ bin \ Debug \

Comment déplacer éviter cela?

+0

quoi faire vous voulez dire en évitant '\ bin \ Debug \'? –

Répondre

0

code de travail:

string test= File.ReadAllText(Path.Combine(System.IO.Directory.GetCurrent‌​Directory(), "..\\..\\test.txt")); 
0

\bin\Debug est le dossier par défaut dans lequel votre programme sera compilé. Si vous exécutez votre programme à partir de Visual Studio, il s'agira probablement du répertoire en cours. Quoi qu'il en soit, lorsque vous copiez le programme dans un autre dossier, le System.IO.Directory.GetCurrentDirectory() doit retourner ce dossier.

Pour votre fichier, vous devez définir copie dans le répertoire de sortie-toujours dans les propriétés afin de copier le fichier à l'endroit où votre programme sera.

Pour tous les fichiers qui vivent dans le même répertoire que votre programme, vous n'avez besoin d'Noth tous les chemins, vous pouvez simplement utiliser les noms de fichiers relatifs

var textReadFromFile = File.ReadAllText("myfile.txt"); 
+0

comment mettre le chemin correct dans ce cas? File.ReadAllText (startupPath + "myfile.txt"); – 4est

+0

@ 4est que la barre oblique inverse connectory est utilisée 'Path.Combine (startupPath," myfile.txt ")' –

+0

Dans ce cas, vous n'avez besoin d'aucun chemin. Si 'myfile.txt' réside dans le même répertoire que votre programme, les noms de fichiers relatifs seront par défaut dans ce répertoire. –