IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 .NET Discussion :

Erreur Pathtoolong exception


Sujet :

.NET

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Erreur Pathtoolong exception
    Bonjour,

    J'ai créé une form dans laquelle je saisi un chemin d'accès vers un dossier.
    Après vérification de l'existence du dossier et du comptage du nombre de sous-dossier et fichier, je lance l'analyse sur la longueur des chemins d'acces complet aux differents fichiers. Lorsque les chemins sont superieurs à 255 caracteres, le chemin complet est écrit dans une listbox, ainsi que le nombre de caractères.
    Mais mon problème du pathtoolong exception apparait lorsque le nom du fichier est supérieur à 248 caractères ou un dossier supérieur à 260 caractères.

    Voici le code qui calcule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For each foundfile as string in my.computer.filesystem.getfiles(Dossier,FileIO.searchOption.searchallsubdirectories)
    fulpath = foundfile
    pathlen = len(fulpath)
    if pathlen > 255 then
    listbox1.items.add(fullpath & ";" & pathlen)
    end if
    next
    Je ne sais pas comment faire pour ne plus avoir l'erreur, ou sinon recuperer les 250 premieres caracteres et l'inscrire dans ma listbox1.

    Merci pour votre aide

    Benoit

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 74
    Points : 94
    Points
    94
    Par défaut
    Bonjour,

    il y a deux notions qui me surprennent ici, vous parlez d'un côté d'un fichier dont le nom contient plus de 248 caractères, et de l'autre d'un dossier. Mais je pense que c'est juste un abus de langage.

    Noms de fichiers

    Le nom complet d'un fichier correspond au chemin du répertoire où il se trouve et au nom du fichier lui même, plus un caractère de séparation :
    NomFichierComplet = NomChemin & "\" & NomFichier
    Le nom du fichier comportant lui même l'extension (".***")

    Donc pour un fichier texte intitulé "Test" dans le disque C:, le chemin serait
    "C:\Test.txt" => 11 caractères.

    Si le nom du fichier comporte 12 caractères, mais que le nom répertoire où il se trouve en comporte 248, le total fera 260 +1 avec le caractère de séparation => donc il aura erreur.

    Sinon le code est bon, si ce n'est que j'utiliserais plutôt System.IO, puis Directory.GetFiles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Imports System.IO
    Sub Test()
    Dim Répertoire As String = "C:\"
            For Each Fichier In IO.Directory.GetFiles(Répertoire,".",SearchOption.AllDirectories)
                If Len(CStr(Fichier)) > 260 Then ListBox_NomFichierComplet.Items.Add(CStr(Fichier))
            Next
    End Sub
    Pensez à mettre le topic en si votre problème a été solutionné. / Un petit est le bien venu si la réponse vous satisfait
    Ce qui mérite d'être fait mérite d'être bien fait.

Discussions similaires

  1. Problème avec une erreur d'exception inconnue
    Par yoyo72 dans le forum Delphi
    Réponses: 5
    Dernier message: 09/08/2006, 11h52
  2. affichage page erreur suite exception
    Par pram dans le forum XMLRAD
    Réponses: 1
    Dernier message: 20/09/2005, 17h25
  3. erreur Une exception s'est produite
    Par unix27 dans le forum ASP
    Réponses: 5
    Dernier message: 23/11/2004, 02h38
  4. Codes d'erreurs des exceptions
    Par dway dans le forum Assembleur
    Réponses: 3
    Dernier message: 08/09/2004, 09h37
  5. erreur :"une exception s'est produite"
    Par leborg dans le forum ASP
    Réponses: 11
    Dernier message: 02/03/2004, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo