Tôi có tệp văn bản được thêm vào theo thời gian và định kỳ tôi muốn cắt bớt nó xuống một kích thước nhất định, ví dụ: 10MB, nhưng giữ 10MB cuối thay vì đầu tiên.Làm cách nào để cắt bớt một tệp xuống một kích thước nhất định nhưng giữ phần cuối?
Có cách nào thông minh để thực hiện việc này không? Tôi đoán tôi nên tìm đúng điểm, đọc từ đó vào một tệp mới, xóa tệp cũ và đổi tên tệp mới thành tên cũ. Bất kỳ ý tưởng hay mã ví dụ nào tốt hơn? Lý tưởng nhất là tôi sẽ không đọc toàn bộ tệp vào bộ nhớ vì tệp có thể lớn.
Hãy không gợi ý về việc sử dụng Log4Net, vv
+1 cũng có thể cần một ms.Position = 0 trước khi CopyTo thức() (Tôi sử dụng một FileStream khác không phải MemoryStream) – StuartLC
@nonnb: Điểm tốt; cảm ơn. – Ryan
@minitech có vẻ như mã của bạn chỉ hoạt động từ .NET 4.0 trở lên. Tôi phát hiện ra rằng trong khi mã hóa trên dự án .NET 3.5 của tôi. – Alex