Hỏi về cách thao tác ngắt dòng với tệp trong C#

Em gặp vấn đề như sau, em muốn tạo một tệp mà ngắt dòng dạng \r\n
Code của em như sau:

using (StreamReader Doc = new StreamReader(@"C:\Users\HLK9\Desktop\LK.c"))
            {
                string dong;
                while ((dong = Doc.ReadLine()) != null)
                {                    
                    editControl1.Text += dong + "\r\n";             
                }
            }

Với code đó thì nó ra đúng kết quả em mong muốn (xuống dòng 2 lần) nhưng khi mà lưu tệp, và mở lại thì nó lại chèn thêm (Kết quả là xuống thêm 2 lần nữa là 4 dòng) . làm sao để khắc phục việc này ạ mà hiệu suất nủa chương trình không gặp vấn đề ? Em cảm ơn!

Sao không đọc hết nội dung luôn rồi gán vào editControl?
File.ReadAllText()

3 Likes

em cần đặt cách ngắt dòng cho mỗi dòng nên em duyệt từng dòng rồi + với “\r\n” ạ

:woman_facepalming::man_facepalming:
Thế bạn đọc bằng File.ReadAllText() rồi gán vào editControl nó có bị gì không?

\n\r\n?

2 Likes

Bạn chưa cung cấp đoạn code lưu file mà. Có thể sai ở đó. kiểu như

streamWriter.WriteLine(dong + @"\r\n");
3 Likes

em gặp vấn đề ở đây ạ, khi lưu rồi thì nó ngắt dòng theo ý muốn, nhưng nếu mở lại rồi lưu tiếp thì nó lại thêm cái \r\n tiếp, thành ra ngắt thêm nữa :frowning:

Nghĩa là như thế này phải k ạ?
editControl1.Text = File.ReadAllText(@"C:\Users\HLK9\Desktop\LK.c")+ "\r\n";
Kết quả là nó ngắt mỗi dòng cuối cùng(có 22 dòng):


Với code ban đầu của em mong muốn thì nó xuất hiện ntn(có 37 dòng):

Khi mà lưu và mở lại thì sẽ ngắt tiếp (Đây là cái em không mong muốn và không biết cách khắc phục, ở ảnh dưới thì nó ngắt lên 53 dòng rồi :frowning: )

Bạn muốn thêm 1 dòng trống nữa giữa mỗi dòng? Thế thì dùng RegEx thôi bạn. Chứ chơi kiểu cộng chuỗi thế kia thì nó cộng đến vô cực luôn, mỗi lần mở là cộng thêm vào.

3 Likes

Anh có thể giải thích kỹ hơn về cách dùng RegEx được không ạ?
Có phải dạng như xét dòng xem có \r\n hay không rồi nếu k có mình add ạ :frowning:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?