Dies ist eine alte, aber ich wollte heute etwas Ähnliches tun und stellte fest, dass sich die Dinge geändert haben. Seit .net 4.5 gibt es ein leaveOpen
Argument:
public StreamReader( Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen )
Das einzige Problem ist, dass es nicht ganz offensichtlich ist, was für die anderen Parameter eingestellt werden soll. Hier ist eine Hilfe:
Von der msdn-Seite für StreamReader Constructor (Stream):
Dieser Konstruktor initialisiert die Codierung mit UTF8Encoding, die BaseStream-Eigenschaft mithilfe des Stream-Parameters und die interne Puffergröße mit 1024 Byte.
Damit bleibt nur, detectEncodingFromByteOrderMarks
was nach dem Quellcode zu urteilen isttrue
public StreamReader(Stream stream)
: this(stream, true) {
}
public StreamReader(Stream stream, bool detectEncodingFromByteOrderMarks)
: this(stream, Encoding.UTF8, detectEncodingFromByteOrderMarks, DefaultBufferSize) {
}
Es wäre schön, wenn einige dieser Standardeinstellungen verfügbar wären oder wenn die Argumente optional wären, damit wir nur die gewünschten angeben könnten.