0
votes

File.create écrase mon chemin déclaré avec le répertoire d'applications d'origine et mon chemin déclaré vb.net

J'ai besoin de votre aide, je ne trouve aucun sujet de résolution à ce sujet.

J'ai une application et je souhaite créer un fichier .CVS, la méthode prend mon chemin déclaré et réécrit et ajoute l'application. Chemin de répertoire devant mon chemin déclaré, voici le codage, puis l'erreur. xxx

L'erreur est la suivante: System.IO.DirectoryNotFoundException: "Impossible de trouver une partie du chemin" C: \ 224135-6 Rejeter Control \ 224135-6 Rejeter Control \ Bin \ Debug \ C \ Utilisateurs (mon nom d'utilisateur) \ Documents \ 01.Guillermo V \ Tests \ 1132020 110900 AM Rejeter Report.csv '.'


1 commentaires

Est-ce que ce chemin existe-t-il?


3 Réponses :


1
votes

Vous ne devez pas remplacer : avec une chaîne vide xxx

ceci convertit le chemin comme c: \ sur c \ < / Code>

Veuillez utiliser les options de formatage DateTime pour obtenir une date du nom de fichier comme xxx


2 commentaires

Je pense que l'OP souhaite créer le fichier dans "C: \ users \ guillermo.velez \ documents \ 01.Guillermo v \ tests \". La partie "C: \ 224135-6 Rejeter Control \ 224135-6 Rejeter Control \ Bin \ Debug \" n'apparaît que parce qu'il a essayé de convertir ce qu'il a vu comme un chemin relatif (en commençant par "C \", comme vous l'avez souligné) à un chemin absolu.


Merci!! n'avait pas vu cela, désolé pour le désagrément occasionné,



0
votes

Merci Oleksa Je n'avais pas vu cela, désolé, j'ai corrigé mon code et travaille bien maintenant.

 fileNameReport = "C:\Users\guillermo.velez\Documents\01.Guillermo V\Tests\" & Now.ToString("MMddyyyy HHmmss") & " Reject Report.csv"


0 commentaires

0
votes

J'ai trois suggestions:

  1. Demandez à la variable code> code> une "base" que vous pouvez utiliser avec string.format () code> plus tard sur. Li>
  2. Utilisez une chaîne de format au lieu de string.replace () code> pour nettoyer la date li>
  3. se débarrasser du fichier fichier.create () code> vérifier. J'ai écrit cela souvent dans le passé, mais en général, ce n'est pas quelque chose que vous voulez faire. N'oubliez pas que le système de fichiers est volatil, ce qui signifie que vous devez toujours être capable de gérer une exception. Mieux vaut mettre vos efforts dans le gestionnaire d'exception (ce qui pourrait être à un niveau de code plus élevé ... pas besoin nécessairement pour un essai / attraper ici) li> ol>

    Mettez tout ensemble: P>

    Public Const fileNameReportBase As String = "C:\Users\guillermo.velez\Documents\01.Guillermo V\Tests\{0:yyyyMMddHHmmss} Reject Report.csv"
    
    Dim fileNameReport As String = String.Format(fileNameReportBase, Now)
    File.Create(fileNameReport)
    


0 commentaires