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

VB.NET Discussion :

Lire fichier utiliser par un autre processus


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut Lire fichier utiliser par un autre processus
    Bonjour à tous,

    Je me retrouve devant un problème tout bête, mais qui me bloque quand même...

    Comment faire pour pouvoir afficher le contenu d'un fichier texte dans un textbox, de sorte à ce que même si le fichier est utiliser par un autre processus, on puisse quand même le lire ???

    Merci à tous pour vos réponses.

  2. #2
    Expert confirmé Avatar de Lapinpanda
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 230
    Par défaut
    Je ne vois pas trop ou est le soucis la.

    Si ton fichier est en ReadOnly, ca ne devrait pas poser de soucis si plusieurs personnes le lisent non?

    Apres si on écrit dessus, pour avoir une mise à jour dans la textBox ca doit poser des soucis par contre

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut
    En fait, comme le fichier est utilisé par un autre processus (en écriture), je n'arrive pas à le lire car il m'affiche un message d'erreur...

    Voila le problème.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut
    C'est bon, j'ai trouvé.

    Pour ceux que sa intéresse, dans un premier temps il faut mettre un RichTextBox (et non pas un TextBox comme je l'avais fais car sinon les carractères accentués ou autres comme les sauts de lignes ne seront pas respectés) puis voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Me.txtLog.Clear()
    Dim sr As FileStream = New FileStream(filepath & "\logs\application.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
    sr = File.Open(filepath & "\logs\application.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
    Dim b(1024) AsByte
    Dim temp As UTF8Encoding = New UTF8Encoding(True)
    Dim text AsString = ""
    DoWhile sr.Read(b, 0, b.Length) > 0
    text += temp.GetString(b)
    Loop
    sr.Close()
    Me.txtLog.Text = text
    En espérant que ça soit utile

    N'hésitez pas à me signaler toute erreur ou mauvais codage !!!

    Merci

  5. #5
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Le FileShare.ReadWrite n'est pas utile au passage ...

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut
    Ah ?
    je pensais que c'était lui qui permettait l'accès au fichier en cours d'utilisation....

  7. #7
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Je me suis toujours contenté de New FileStream(filepath & "\logs\application.log", FileMode.Open, FileAccess.Read) et ça ne m'a jamais posé problème. (Sauf justement pour les fichiers a accès exclusif mais c'est un cas particulier ou il suffit parfois de copier le fichier ailleurs avant d'y accéder)

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Par défaut
    Ah ok, et bien comme c'est mon cas, je comprends mieux pourquoi je n'ai plus le message d'erreur.

    C'est pratique car ça évite de le copier et comme le fichier peut être très volumineux, sa pourrait prendre beaucoup de temps...

    Merci pour toutes ces infos !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur Fichier utiliser par un autre processus
    Par charouel dans le forum C#
    Réponses: 0
    Dernier message: 12/06/2013, 12h24
  2. Copie de fichier ouvert par un autre processus
    Par L_Art_Ment dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 22/07/2010, 23h17
  3. Copier un fichier utilisé par un autre processus
    Par shaun_the_sheep dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 29/12/2008, 15h45
  4. [JNI] Fichier utilisé par un autre processus
    Par Julaie95 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 10/08/2006, 11h39
  5. Erreur "Fichier utilisé par un autre processus"
    Par solo3326 dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2005, 16h55

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