Entwickler-Ecke
IO, XML und Registry - EndOfStreamException
AeroX - Mo 14.04.08 00:01
Titel: EndOfStreamException
tach,
ich will eine Datei Byte-weise auslesen,
aber ich kriege immer EndOfStreamException.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:
| using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO;
namespace SpeedSearch { class Program { char[] Chars; byte[] Bytes; byte b; string str = "das"; int i;
static void Main(string[] args) { Program P = new Program(); P.Start(); }
private void Start() { Chars = str.ToCharArray(); Bytes = new byte[Chars.Length]; for (i = 0; i < Chars.Length; i++) { Bytes[i] = Convert.ToByte(Chars[i]); } FileStream FS = new FileStream("test.txt",FileMode.Open); BinaryReader BR = new BinaryReader(FS); while ( (b = BR.ReadByte()) != 0) { if (Bytes[0].Equals(b)) { Console.WriteLine("Gefunden!"); } } Console.Read(); } } } |
JüTho - Mo 14.04.08 09:46
Hallo,
nach Lektüre der SDK-Doku habe ich die Vermutung, dass BinaryReader nur beschränkt geeignet ist, weil die Dateiposition dabei nicht abgefragt werden kann. Du musst wohl wirklich try-catch benutzen oder mit PeekChar und dem einfachen Read arbeiten.
Jürgen
Th69 - Mo 14.04.08 09:48
Dann fang doch einfach diese Ausnahme auf:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| try { ... } catch(EndOfStreamException e) { } |
AeroX - Mo 14.04.08 12:38
Danke für die schnelle Antwort.
Kha - Mo 14.04.08 17:54
Ouch! So langsam will ich dir nicht mehr ein Anfängertutorial empfehlen, sondern es lieber ärztlich verschreiben :? . Du kannst einfach nicht ewig weiter drauf los programmieren, ohne lokale Variablen zu kennen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!