So Lesen Sie eine Datei in einen string mit CR/LF erhalten?

Wenn ich die Frage gestellt: wie liest man eine Datei in einen string" wäre die Antwort offensichtlich. Aber-hier ist der Haken mit CR/LF erhalten.

Das problem ist, dass File.ReadAllText Streifen die Charaktere. StreamReader.ReadToEnd gerade umgebaut LF in CR für mich, das führte zu langen Untersuchung, wo habe ich Fehler in ziemlich offensichtlich, code 😉

Also, kurz gesagt, wenn ich die Datei mit foo\n\r\nbar ich möchte foo\n\r\nbar (also genau den gleichen Inhalt haben), nicht foo bar, foobar oder foo\n\n\nbar. Gibt es etwas, bereit zu verwenden, Weg .Net-space?

Das Ergebnis sollte immer eine einzige Zeichenfolge, mit gesamte Datei.

  • Warum gehst du nicht einfach behandeln es als byte[]? Datei.ReadAllBytes etc
  • Nicht sicher.. aber \n\r\n ist Line feed - Wagenrücklauf - Zeilenvorschub. So, wenn es zu Lesen in.. die Chancen sind es nur entfernen Sie Ihre baumelnden line feed am start zugunsten der Wagenrücklauf - Zeilenvorschub-Kombination. Ich bin nicht wirklich ein Experte für das Innenleben .NET StreamReader allerdings 🙁
  • so etwas wie new string(System.IO.File.ReadAllBytes(filename).Select(b => (char)b).ToArray())? Irgendwo noch \n ist sowieso bekehren, werde ich haben, um es zu untersuchen weiter.
  • Nicht-standard-Anforderung mit standard-routine, nicht Arbeit, ist das nicht eine überraschung ist es? Sie sagte, der Text, es Tat, was Sie sagte.
InformationsquelleAutor greenoldman | 2012-11-22
Schreibe einen Kommentar