PDA

View Full Version : [VB.NET]IO.Stream - ReadByte = 0


Stiwy.NET
05-11-2006, 13:39
Ahahhahhahahahhaah :muro:
Sto uscendo pazzo...
Sto facendo una classe che deve leggere delle informazioni da un file. In base ai primi 10 byte capisco quanto di questo file a me interessa.
Ho provato a eseguire la classe elaborando file diversi ed il problema mi si pone sempre e non capisco perchè.


Dim m_File as new IO.FileInfo("file.rel") ' questo è il file che devo leggere
Dim xRead As IO.FileStream = m_File.OpenRead 'Questo è lo stream che legge i byte
Dim m_Size as Integer = TrovaInfo(xRead) ' La funzione mi restituisce il numero di byte che a me interessano
Dim xTag(m_Size - 1) As Byte 'varibile che memorizza tutte le info che a me interessano
'Primo sistema per leggere le info
xRead.Read(xTag, 0, xTag.Length)
'Secondo sistema
For index As Integer = 0 To xTag.Length - 1
xTag(index) = xRead.ReadByte
Next
'Terzo sistema
Dim buffer As Int16 = 300
For index As Int16 = 0 To xTag.Length \ buffer
If ((index + 1) * buffer) > xTag.Length Then
xRead.Read(xTag, index * buffer, xTag.Length - (index * buffer))
Else
xRead.Read(xTag, index * buffer, buffer)
xRead.Flush()
End If
Next
Il risultato di tutte le procedure è lo stesso: l'array di byte xTag non è completamente valorizzato. Dopo un pò tutti i byte sono settati a 0. Ho usato questi metodi altre volte, ma non mi han mai dato questo problema. Qualcuno ha idea del motivo e di come risolverlo? :mbe: