Forum Programmation.c# Pb d'accès à un fichier en écriture

Posté par  .
Étiquettes : aucune
0
25
jan.
2005
J'ai une exception que je ne comprends pas quand j'essaie d'ouvrir un fichier en écriture:
Unhandled Exception: System.UnauthorizedAccessException: Access to the path '/home/manuel/Desktop/ps/2004-2005/poo/examen-part1/ CompteurTest/compteurs' is denied.
in <0x0023e> System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,bool)
in <0x00057> System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess)
in <0x00073> (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess)
in <0x00065> CompteurSerial:Ecrire (CCompteur)
in <0x0014c> CCompteur:GetNextval ()
in <0x00056> MainClass:Main (string[])

Or j'ai bien le droit d'écrire dans le répertoire et dans le fichier.
L'instruction qui coince:

FileStream f = new FileStream(dir+compteur.name, FileMode.OpenOrCreate, FileAccess.ReadWrite);
  • # Vous devez entrer un sujet et un commentaire ( ben voilà )

    Posté par  (site web personnel) . Évalué à 2.

    Le chemin du fichier est-il correct ?
    là je vois un espace entre "/home/manuel/Desktop/ps/2004-2005/poo/examen-part1/" et "CompteurTest/compteurs"
    • [^] # Re: Vous devez entrer un sujet et un commentaire ( ben voilà )

      Posté par  . Évalué à 1.

      Non il n'y a pas d'espaces. En fait j'ai agrandi la fenêtre terminal après avoir lancer mono et pendant le copier-coller le caractère fin de ligne s'est transformé en espace (ça c'est bizarre c'est vrai).
      Si je relance et que je fais un copier-coller:
      Unhandled Exception: System.UnauthorizedAccessException: Access to the path '/home/manuel/Desktop/ps/2004-2005/poo/examen-part1/CompteurTest/compteurs' is denied.

      Merci quand même pour ton idée.
  • # précisions

    Posté par  (site web personnel) . Évalué à 2.

    tu as testé avec un autre fichier ?
    genre un fichier local à côté de l'exécutable ?
  • # Solution

    Posté par  . Évalué à 1.

    En fait c'était le champ compteur.name qui était vide. Quand j'ai eu le message d'erreur "Access to the path [...] is denied" j'ai cru qu'il s'agissait juste du répertoire en fait le path affiché était le chemin complet (répertoire + nom du fichier).

    Qu'est-ce qu'on peut perdre comme temps sur des problèmes tous simples...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.