Me preguntaba si alguien podría decirme cómo apuntar un StreamReader a un archivo dentro del directorio de trabajo actual del programa.Streamreader a una ruta de archivo relativa
POR EJEMPLO Digamos que tengo el programa Prog, guardado en el directorio C: \ ProgDir. Confirmo \ ProgDir a una carpeta compartida. Dentro de ProgDir hay otro directorio que contiene archivos que me gustaría importar a Prog (por ejemplo, \ ProgDir \ TestDir \ TestFile.txt) Me gustaría hacerlo para que StreamReader pueda leer esos archivos de prueba, incluso cuando la ruta al directorio tenga cambiado;
(EG, en mi equipo, la ruta a la testfiles es
C: \ PROGDIR \ TestDir \ TestFile.txt
pero en el ordenador de la otra persona, el directorio es
C: \ dev_code \ PROGDIR \ TestDir \ TestFile.txt
).
¿Cómo obtendré un StreamReader para leer en TestFile.txt en la computadora de la otra persona? (Para aclarar, los nombres de archivo no cambian, el único cambio es el camino PROGDIR)
He intentado lo siguiente:
string currentDir = Environment.CurrentDirectory;
DirectoryInfo directory = new DirectoryInfo(currentDir);
FileInfo file = new FileInfo(TestFile.txt);
string fullDirectory = directory.FullName;
string fullFile = file.FullName;
StreamReader sr = new StreamReader(@fullDirectory + fullFile);
(tirado esto desde: Getting path relative to the current working directory?)
Pero Me aparece "TestFile no existe en el contexto actual". ¿Alguien tiene alguna idea de cómo debería abordar esto?
Gracias.
Su título no tiene relación con su pregunta ... ¿dónde entra Stopwatch? –
Lo siento, creo que el título se trasladó de mi última pregunta de alguna manera. – gfppaste