Questo topic e' stato chiuso dal moderatore.
07/01/10 16:34
balto
Ciao ragazzi, ho un problema riguardante le due classi citate nel titolo. Allora: creo un file dati con:
Dopodichè aggiungo delle stringhe con:
Poi leggo le stringhe del file con:
E fin qui tutto normale. Ma se nella parte di codice contenente il BinaryWriter scrivo questo:
e provo a leggere con il BinaryReader, mi trova un EndOfStreamException, dicendomi che non è possibile leggere oltre la fine del flusso. Ma scusate, se il metodo PeekChar guarda il prossimo carattere e restituisce -1 solo quando giunti alla fine, come è possibile superare il limite del flusso?
Come potrei risolvere il problema?
PS. Qualcuno per caso sa come modificare o eliminare una stringa contenuta all'interno di un file? (Penso si debba usare sempre il BinaryWriter)
FileStream fs = new FileStream(fileName, FileMode.Create); fs.close();
Dopodichè aggiungo delle stringhe con:
FileStream fileStream = new FileStream(fileName, FileMode.Open); BinaryWriter bw = new BinaryWriter(fileStream); bw.Write("uno"); bw.Write("due"); bw.Write("tre"); bw.Close(); fileStream.Close();
Poi leggo le stringhe del file con:
FileStream fileStream = new FileStream(fileName, FileMode.Open); BinaryReader br = new BinaryReader(fileStream); while (br.PeekChar() != -1) { Console.WriteLine(br.ReadString()); }
E fin qui tutto normale. Ma se nella parte di codice contenente il BinaryWriter scrivo questo:
FileStream fileStream = new FileStream(fileName, FileMode.Open); BinaryWriter bw = new BinaryWriter(fileStream); bw.Seek(0, Begin); // non ricordo il nome dell'enumeratore bw.Write("uno"); bw.Write("due"); bw.Write("tre"); bw.Close(); fileStream.Close();
e provo a leggere con il BinaryReader, mi trova un EndOfStreamException, dicendomi che non è possibile leggere oltre la fine del flusso. Ma scusate, se il metodo PeekChar guarda il prossimo carattere e restituisce -1 solo quando giunti alla fine, come è possibile superare il limite del flusso?
Come potrei risolvere il problema?
PS. Qualcuno per caso sa come modificare o eliminare una stringa contenuta all'interno di un file? (Penso si debba usare sempre il BinaryWriter)
Ultima modifica effettuata da balto 07/01/10 16:37
aaa