Đọc tệp ở dạng luồng: Stream fin = File.OpenRead(FilePath);
Có cách nào để tôi có thể tìm và loại bỏ tất cả các dòng trả về từ luồng tệp đó không?C# xóa trả về vận chuyển bổ sung từ Luồng
CHỈNH SỬA: Mục tiêu là để loại bỏ đơn vận chuyển trả về \r
và để lại vận chuyển trả lại những gì đang có với dòng mới "\r\n"
nguyên vẹn.
Ví dụ file:
The key backed up in this file is:\r
\r\n
pub 2048R/65079BB4 2011-08-01\r
\r\n
Key fingerprint = 2342334234\r
\r\n
uid test\r
\r\n
sub 2048R/0B917D1C 2011-08-01\r
Và kết quả sẽ giống như thế:
The key backed up in this file is:
\r\n
pub 2048R/65079BB4 2011-08-01
\r\n
Key fingerprint = 2342334234
\r\n
uid test
\r\n
sub 2048R/0B917D1C 2011-08-01
EDIT2: Các giải pháp cuối cùng những gì được vẻ làm việc như thế này:
static private Stream RemoveExtraCarriageReturns(Stream streamIn)
{
StreamReader reader = new StreamReader(streamIn);
string key = reader.ReadToEnd();
string final = key.Replace("\r\r", "\r");
byte[] array = Encoding.ASCII.GetBytes(final);
MemoryStream stream = new MemoryStream(array);
return stream;
}
Tôi lấy trong các Stream
sử dụng StreamReader
để đọc nó thành một chuỗi, sau đó loại bỏ các e xtra vận chuyển trở lại và viết nó trở lại một Stream
. Mã của tôi có ổn không hoặc tôi có nên làm gì khác không?
Trông tốt mặc dù có lẽ bạn nên thiết lập vị trí của con suối trở về zero trong phương pháp cho sự lanh tay API. Giải pháp tốt cho các tệp nhỏ. –