Contrôler l'existence d'un fichier.txt

suethi75 Messages postés 101 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 31 août 2009 - 13 déc. 2008 à 21:50
suethi75 Messages postés 101 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 31 août 2009 - 13 déc. 2008 à 22:28
Je fais un qcm, je souhaiterai à chaque inscription du candidat vérifier si le fichier n'existe pas déjà. Voici mon script mais celui ci n'effectue pas cette demande.

static string inscription()
        {
            Console.Clear();

            // syntaxe permettant de saisir le nom et prénom du candidat
            Console.Write("\nEntrez votre nom:");                   // La saisie du nom
            string nomCandidat = Console.ReadLine().ToUpper();      // Affecter la saisie à la variable "nomCandidat"
            Console.Write("\nEntrez votre prénom:");                // La saisie du prénom
            string prenomCandidat = Console.ReadLine().ToLower();   // Affecter la saisie à la variable "prenomCandidat"

            // Affecter le contenu de "nomCandidat", "prenomCandidat" et l'extension.txt vers la variable "fichierCandidat"
            string fichierCandidat = nomCandidat + "." + prenomCandidat + ".txt";

            if (File.Exists("C:\\Documents and Settings\\Tipi\\Mes documents\\Visual Studio 2005\\Projects\\ptiProcéduralQcm\\fichiers\"))
            {
                Console.Clear();
                Console.WriteLine("Le fichier existe");
            }
            else
            {
                Console.Clear();
                Console.WriteLine("Le fichier n'existe pas");
            }
            return fichierCandidat;
        }

7 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
13 déc. 2008 à 21:58
Salut,

Le chemin précisé à l'appel de File.Exists dans le code donné est un chemin de répertoire, pas de fichier.
Sinon on évite les chemins en dur dans le code, recompiler pour passer d'une machine à l'autre n'est pas terrible.

PS : voir aussi les méthodes de la classe Path, particulièrement Combine.

/*
coq
MVP Visual C#
CoqBlog
*/
0
suethi75 Messages postés 101 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 31 août 2009
13 déc. 2008 à 22:02
Comment vois tu que c'est une chemin de répertoire. Je ne peux pas mettre de chemin de fichier. Si tu as une idée, pourrais tu me la donner.

Merci
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
13 déc. 2008 à 22:11
C:\Documents and Settings\Tipi\Mes documents\Visual Studio 2005\Projects\ptiProcéduralQcm\fichiers\
Ca à quand même une bonne tête de chemin de répertoire ça ;-)

Je suppose que tu voulais écrire un code de ce genre (je te laisse le soins d'externaliser le chemin d'accès au répertoire "fichiers") :

----------------------------------------------------------------
String repertoireFichiers = "@C:\Documents and Settings\Tipi\Mes documents\Visual Studio 2005\Projects\ptiProcéduralQcm\fichiers";

// Nom de fichier au format "<nom>..txt"
// TODO : s'assurer que les noms et prénoms ne contiennent pas de caractère invalide pour un nom de fichier
string fichierCandidat = String.Format("{0}.{1}.txt", nomCandidat, prenomCandidat);

// Chemin d'accès complet au fichier
String fichierCandidatPath = Path.Combine(repertoireFichiers, fichierCandidat);

if (fichierCandidatPath)
{
...
----------------------------------------------------------------

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
13 déc. 2008 à 22:13
Oups, erreur :
<strike>if (fichierCandidatPath)</strike>
=>
if (File.Exists(fichierCandidatPath))

/*
coq
MVP Visual C#
CoqBlog
*/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
suethi75 Messages postés 101 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 31 août 2009
13 déc. 2008 à 22:22
je ne comprend le Path et combine. A quoi servent t-ils?
0
suethi75 Messages postés 101 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 31 août 2009
13 déc. 2008 à 22:22
ok merci pour le corrigé, c'est cool
0
suethi75 Messages postés 101 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 31 août 2009
13 déc. 2008 à 22:28
Je ne comprend parce que j'ai mis un petit message pour vérifier l'existence des fichiers mais rien ne s'affiche ai je oublié quelque chose?

Merci pour votre aide
0
Rejoignez-nous