Obtenir le chemin d'accès complet d'un fichier

Artrac -  
 Utilisateur anonyme -
Bonjour,

je souhaiterais savoir comment obtenir le chemin d'accès complet à un fichier en C# car en utilisant la méthode "GetFullPath" celle ci me retourne
C:\Users\user1\Documents\Projet\A2\POO2\problème\bin\Debug\netcoreapp3.1\dictionnaire.txt
au lieu de
C:\Users\user1\Documents\Projet\A2\POO2\problème\dictionnaire.txt
(dictionnaire.txt étant le fichier dont je souhaite obtenir l'accès.)

Mon code complet :
string fileName = "dictionnaire.txt";
            string fullPath;
            fullPath = Path.GetFullPath(fileName);
            Console.WriteLine("GetFullPath('{0}') returns '{1}'",
                fileName, fullPath);

Merci d'avance

4 réponses

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Par défaut, il prend comme référence l'endroit où est lancé l’exécutable.
    Donc dans le dossier de sortie de debug.
    1
  2. Utilisateur anonyme
     
    Bonjour

    Pour C# un chemin relatif est relatif par rapport à l'application.
    Donc
     string fileName = "dictionnaire.txt" 
    n, ça veut dire
    "C:\Users\user1\Documents\Projet\A2\POO2\problème\bin\Debug\netcoreapp3.1\dictionnaire.txt"

    Puisque ton application est dans </code>n, ça veut dire
    "C:\Users\user1\Documents\Projet\A2\POO2\problème\bin\Debug\netcoreapp3.1\"


    Option 1, tu fais en sorte que ton fichier texte soit au même endroit que ton exe (ce qui sera sans doute plus pratique si tu dois déployer ton logiciel sur d'autres PC)
    Option 2, tu "remontes" l'arborescence
    string fileName = @"..\dictionnaire.txt";
    

    Option 3, tu ouvres une boite de dialogue demandant à l'opérateur où se trouve le fichier

    PS, t'as vu? C'est mieux la couleur pour lire le code, non? Pour tes prochains message, voir ce tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
    1
  3. Artrac
     
    Merci beaucoup, oui c'est mon premier message sur ce forum et je débute en c# merci pour tes conseils
    0