none
Lecture/écriture de fichiers binaires RRS feed

  • Question

  • Je migre de VB6 vers VB2008 Express. Je cherche l'équivalent en VB2008E de (en VB6) :

     

    get #NumFile,,<variable de type définit par l'utilisateur>

    put #NumFile,,<variable de type définit par l'utilisateur>

     

    Merci d'avance,

     

     

    mercredi 6 août 2008 17:03

Toutes les réponses

  • Bonjour,

      Pas sur de moi mais ca répondra peut-être à ta question :

    Code Snippet

    Dim value As Integer = 5

     

    System.Diagnostics.Debug.WriteLine("ecriture dans le fichier")

    Dim sw As New System.IO.StreamWriter("c:\temp\monfichier.bin", False, System.Text.Encoding.Default)

    Dim binWrite As New System.IO.BinaryWriter(sw.BaseStream)

    binWrite.Write(value)

    binWrite.Close()

    System.Diagnostics.Debug.WriteLine("ok (" + value.ToString() + ")")

     

    value = 0

     

    System.Diagnostics.Debug.WriteLine("lecture dans le fichier")

    Dim sr As New System.IO.StreamReader("c:\temp\monfichier.bin", System.Text.Encoding.Default)

    Dim binRead As New System.IO.BinaryReader(sr.BaseStream)

    value = binRead.ReadInt32()

    binRead.Close()

    System.Diagnostics.Debug.WriteLine("ok (" + value.ToString() + ")")

     

     

    A+,

        Stéphane

    jeudi 7 août 2008 07:56
  • Bonjour,

     

    Le StreamWriter n'a aucun utilité dans ce cas là... (Cela permet d'écrire des chaines dans un flux d'octets selon un encodage).

     

    Il suffit tout simplement :

    Code Snippet

     

    Using f As FileStream = File.Open("fichier.bin", FileMode.Open)

     

        Using br As BinaryWriter = new BinaryWriter(f)

             'Utiliser br.Write(booléen) ou Write(Entier) ou....

        End Using

     

    End Using

     

    Idem pour la lecture :

    Code Snippet

     

    Using f As FileStream = File.Open("fichier.bin"; FileMode.Open)

     

        Using br As BinaryReader = new BinaryReader(f)

             'Utiliser br.ReadXXXXXX()

        End Using

     

    End Using

     

     

     

    Cordialement

     

    jeudi 7 août 2008 11:36
    Modérateur
  • Salut,

      Ca tombe drolement bien ce que tu dis la Wink justement je me demandais la différence entre FileStream et StreamWriter....En gros StreamWriter est plus lourd que FileStream ?

      C'est un poil hors sujet, je posterai ma question ailleurs si c'est mieux Smile

      A+,

           Stéphane

     

    jeudi 7 août 2008 15:52
  • Bonjour,

     

    Il n'y a pas de différence, les 2 ont aucun rapport...

     

    StreamWriter est un TextWriter qui permet d'écrire du texte (string) dans un flux d'octet.

    BinaryWriter est un objet permet d'écrire des données primitives en binaire dans un flux d'octet.

     

    FileStream est un Stream qui représente un flux d'octet (d'un fichier).

     

    Cordialement

     

    samedi 9 août 2008 08:42
    Modérateur