Đây là một cái cũ, nhưng tôi muốn làm một cái gì đó tương tự ngày hôm nay và thấy rằng mọi thứ đã thay đổi. Kể từ .net 4.5, có một leaveOpen
đối số:
public StreamReader( Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen )
Vấn đề duy nhất là nó không hoàn toàn rõ ràng những gì cần đặt cho các tham số khác. Đây là một số trợ giúp:
Từ trang msDN cho Trình tạo luồng StreamReader (Luồng):
Hàm tạo này khởi tạo mã hóa thành UTF8Encoding, thuộc tính BaseStream bằng tham số luồng và kích thước bộ đệm bên trong thành 1024 byte.
Điều đó chỉ để lại detectEncodingFromByteOrderMarks
việc đánh giá theo mã nguồn làtrue
public StreamReader(Stream stream)
: this(stream, true) {
}
public StreamReader(Stream stream, bool detectEncodingFromByteOrderMarks)
: this(stream, Encoding.UTF8, detectEncodingFromByteOrderMarks, DefaultBufferSize) {
}
Sẽ thật tuyệt nếu một số trong các mặc định đó được phơi bày hoặc nếu các đối số là tùy chọn để chúng tôi có thể chỉ định các đối số mà chúng tôi muốn.