请教一个关于‘重写整个文件(并对指定行跳过不写)’的问题
我是刚开始接触vb. net,现在想对已知文件中的数据修改。方法是:复制原有文件"A.csv"为"A_tmp.csv",删除原有文件并再次创建,再将复制的"A_tmp.csv"文件的每一行读取到新创建的"A.csv"中(其中需要修改的数据跳过不写);写完后,再将修改的数据附加到"A.csv"文件中。代码如下:Dim r1 As StreamReader
Dim w1 As StreamWriter
Dim w As StreamWriter
Dim line As String = ""
Dim anItem As ScriptList
File.Copy("A.csv", "A_tmp.csv", True)
File.Delete("A.csv")
r1 = New StreamReader("A_tmp.csv")
w1 = New StreamWriter("A.csv", True)
Do While Not r1.EndOfStream
If r1.ReadLine <> "" Then
w1.WriteLine(r1.ReadLine())
Else
End If
Loop
w1.Close()
r1.Close()
'↑↑↑↑【重写整个文件(对修改行跳过不写)】↑↑↑↑
'↓↓↓↓↓↓↓↓【将修改数据写入文件】↓↓↓↓↓↓↓
'
'//=========以下是添加数据到A.csv中
'
anItem = New ScriptList
anItem.SiteName = SiteName.Text + "-" + PC.Text
anItem.URL = URl.Text
anItem.ReadTitle = c
anItem.CopyDetails = d
line = "(修改的数据)"
w = New IO.StreamWriter("A.csv", True)
w.WriteLine(line)
w.Close()
Me.Close()
请问这样写是哪里有错?导致我运行这些代码后A.csv文件中的数据有所缺失。请高手赐教!谢谢!