Laden...

File.ReadAllText / StreamReader problem

Erstellt von TheTwin vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.624 Views
T
TheTwin Themenstarter:in
13 Beiträge seit 2007
vor 16 Jahren
File.ReadAllText / StreamReader problem

Guten abend,

ich versuche nun seit drei Tagen dieses Problem zu lösen, hab mich auch
schon mit Google herumgeschlagen und alle in frage kommenden Threads
hier gelese, bin aber nicht weiter gekommen X(

Ich versuche, leider vegebens die Datei aus dem anhang einzulesen!

Es ist eine Normale Text-Datei die sich ja im normalfall mit
dem StramReader oder eben auch mit File.ReadAllText problemlos einlesen
lassen sollte...

Jedoch befindet sich hinter jedem Absatz ein steuerzeichen das mein Programm
dazu bewegt an dieser Stelle das lesen einzustellen...

Ich habe unterdessen schon alles Probiert...
Die Datei als byteArray eingelesen ein Encoding drüber laufen lassen und dann
ausgegeben...
Mittels @ versucht die Steuerzeichen nicht mit auszugeben

Einzig und allein das Zeilenweise einlesen funktioniert, jedoch geht dann
die Zeile in der eben dieses Steuerzeichen steht verloren und leider
auch alle Zeilenumbrüche...

Wenn man die Datei mir WordPad öffnet wird auch an dieser Stelle ein
nettes 4eck angezeigt, beim NotePad wird dieses Steuerezeichen stillschweigend Ignoriert...

Vielleicht kann mir jmd. sagen wie ich die Datei trotzdem eingelesen bekomme...

Zur Info, es handelt sich dabei um eine HandHistory von PartyPoker...

Bin für jede Idee, jeden Vorschlag und jeden Lösungsansatz dankbar,

in diesem Sinne TheTwin

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo TheTwin,

lies die Date mit File.ReadAllBytes ein. Dann hast du die volle Kontrolle.

herbivore

T
TheTwin Themenstarter:in
13 Beiträge seit 2007
vor 16 Jahren

byte[] bytes = File.ReadAllBytes(filePath[0].ToString());
Debug.Write(Encoding.ASCII.GetString(bytes));

Leider selbes Problem :'(

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo TheTwin,

das ist klar. Du musst die Datei dann natürlich auch auf Byte-Ebene auswerten.

herbivore

T
TheTwin Themenstarter:in
13 Beiträge seit 2007
vor 16 Jahren

Hmmm... Stimmt, es werden alle Bytes eingelesen... Den Array.Langht hat
den selben wert wie die ByteMenge in der Datei Info...

Dann muss ich, zu meinem Übel, wohl mal ganz dumm fragen,
wie werte ich die Daten denn auf Bytebene aus? Ich brauch das
eigentlich als String, denn ich will es ja, in überarbeiteter Version auch
wieder anzeigen lassen?!

Sorry falls die frage wirklich, wie ich annehme, ehr zur kategorie anfänger gehört,
aber ich bin bislang mit ReadAllText hervorragend ausgekommen!

Trotzdem schonmal danke für den Tip, den immerhin habe ich die gesammte
Datei im Array!

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo TheTwin,

wie werte ich die Daten denn auf Bytebene aus?

kommt darauf an, was du machen willst. Du kannst im einfachsten Fall mit foreach über jedes Byte rüberlaufen. Du kannst auch mit Array.IndexOf das (nächste) Auftreten eines bestimmten Bytewerts finden, z.B. des Werts für das Zeilenende. Du kannst dann natürlich auch bestimmte (unkritische) Abschnitte des Array mit Encoding.ASCII.GetString wieder in einen String wanden. Es kommt wie gesagt, ganz darauf an, was du machen willst.

herbivore

T
TheTwin Themenstarter:in
13 Beiträge seit 2007
vor 16 Jahren

Guten Morgen,

so an der Stelle mit dem seltsamen sonderzeichen war eine 0 auf ByteEbene...
Komisch, komisch...
Naja, ich hab sie jetzt über eine Schleife alle entfernt und kann damit den
gesammten Text ohne probleme ausgeben lassen!

Ich danke dir nochmal für Deine Hilfe
TT