これは古いものですが、今日も同じようなことをしたかったのですが、状況が変わったことがわかりました。.net 4.5以降、次のようleaveOpen
な議論があります。
public StreamReader( Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen )
唯一の問題は、他のパラメータに何を設定するかが完全に明確ではないことです。ここにいくつかの助けがあります:
StreamReaderコンストラクター(ストリーム)のmsdnページから:
このコンストラクターは、エンコーディングをUTF8Encodingに初期化し、BaseStreamプロパティをstreamパラメーターを使用して初期化し、内部バッファーサイズを1024バイトに初期化します。
ソースコードでdetectEncodingFromByteOrderMarks
判断すると、true
public StreamReader(Stream stream)
: this(stream, true) {
}
public StreamReader(Stream stream, bool detectEncodingFromByteOrderMarks)
: this(stream, Encoding.UTF8, detectEncodingFromByteOrderMarks, DefaultBufferSize) {
}
これらのデフォルトのいくつかが公開されているか、引数がオプションであるため、必要なものを指定できると便利です。