Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [C#] Binary Reader
Forum - C# / VB.NET - [C#] Binary Reader

Avatar
Hast (Normal User)
Rookie


Messaggi: 52
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 10:47
Sabato, 05/09/2009
Ragazzi chiedo ancora il vostro aiuto perchè anche dopo aver googlato un bel po' non sono riuscito a trovare nulla :d
Sto cercando di far leggere al programma un file binario che contiene dei dati int32 e string. (Ad esempio c'è 4 "Ciao")
Ecco il mio codice
Codice sorgente - presumibilmente C++

  1. FileStream fs = new FileStream(percorso2, FileMode.Open);
  2.                 BinaryReader br = new BinaryReader(fs);
  3.                 Hashtable testo = new Hashtable();
  4.                 try
  5.                 {
  6.                     while (br.BaseStream.Position<br.BaseStream.Length)
  7.                     {
  8.                         int i = br.ReadInt32();
  9.                         string s = br.ReadString();
  10.                         testo.Add(i, s);
  11.                     }
  12.  
  13.                     foreach (int key in testo.Keys) textBox1.Text += testo[key];
  14.                 }
  15.                 catch (Exception ex) { MessageBox.Show(ex.ToString()); }


Adesso se faccio il debug mi da la EndOfStreamException. L'unico modo che trovato per risolvere questo problema è chidere il BinaryRead nel while (cosa stupida perchè funziona la prima volta xD).
Il percorso e il file esistono quindi non riesco a capire, Help me please!
Edit: Aggiungo che la EndOfStreamException me la da solo su br.ReadString()

Ultima modifica effettuata da Hast il 05/09/2009 alle 11:27
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:08
Giovedì, 10/09/2009
Prova con Length - 1, potrebbe darsi che legga il carattere di fine file.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote