2012-04-10 24 views
5

Sử dụngLàm thế nào để đi đến dòng mới trong một tài liệu văn bản sử dụng VB.Net

File.AppendAllText("c:\mytextfile.text", "This is the first line") 
File.AppendAllText("c:\mytextfile.text", "This is the second line") 

Làm thế nào để làm cho dòng thứ hai của văn bản xuất hiện dưới cái đầu tiên, như thể tôi nhấn phím Enter? Làm theo cách này chỉ đơn giản là đặt dòng thứ hai ngay bên cạnh dòng đầu tiên.

Trả lời

7

Sử dụng Environment.NewLine

File.AppendAllText("c:\mytextfile.text", "This is the first line") 
File.AppendAllText("c:\mytextfile.text", Environment.NewLine + "This is the second line") 

Hoặc bạn có thể sử dụng StreamWriter

Using writer As new StreamWriter("mytextfile.text", true) 
    writer.WriteLine("This is the first line") 
    writer.WriteLine("This is the second line") 
End Using 
2

Có thể:

File.AppendAllText("c:\mytextfile.text", "This is the first line") 
File.AppendAllText("c:\mytextfile.text", vbCrLf & "This is the second line") 

vbCrLf là một hằng số cho một dòng mới.

3

nếu bạn có nhiều kêu gọi này Đó là cách tốt hơn để sử dụng một StringBuilder:

Dim sb as StringBuilder = New StringBuilder() 
sb.AppendLine("This is the first line") 
sb.AppendLine("This is the second line") 
sb.AppendLine("This is the third line") 
.... 
' Just one call to IO subsystem 
File.AppendAllText("c:\mytextfile.text", sb.ToString()) 

Nếu bạn thực sự có nhiều chuỗi để viết sau đó bạn có thể bọc mọi thứ trong một phương thức.

Private Sub AddTextLine(ByVal sb As StringBuilder, ByVal line as String) 
    sb.AppendLine(line) 
    If sb.Length > 100000 then 
     File.AppendAllText("c:\mytextfile.text", sb.ToString()) 
     sb.Length = 0 
    End If   
End Sub 
+0

Điều đó có nghĩa là làm việc với chuỗi hoàn chỉnh trong bộ nhớ, tùy thuộc vào kích thước, đó có thể là một vấn đề. – Magnus

+0

@Magnus có nhưng có thể dễ dàng xử lý với một số cuộc gọi trung gian đến AppendAllText. Xem câu trả lời cập nhật của tôi – Steve

Các vấn đề liên quan