0
Niphoetがスタックオーバーフローに関する質問と同じ問題を抱えています。Overwrite a specific line in a text file using VB.NETテキストファイルから特定の行を読み書きする
AxarydaxがC#で示したコードを実装しようとしていますが、VB.NETに使用しようとしています。私の問題は、コードが新しいテキストファイルを作成することですが、他のテキストファイルの行は書き込まず、空白のままになります。私は自分の問題がwhile
ループステートメントであると思いますが、わかりません。ここで私はこれまで持っているものです。
Private Sub submitButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles submitButton.Click
Dim trackname As String
Dim fso
fso = CreateObject("Scripting.FileSystemObject")
trackname = TrackComboBox.Text
Dim fileName As String = "C:\Papyrus\NASCAR3\tracks\" + trackname + "\" + trackname + ".txt"
Dim newfile As String = "C:\Papyrus\NASCAR3\tracks\" + trackname + "\" + "copy.txt"
If System.IO.File.Exists(fileName) Then
Dim objReader As New System.IO.StreamReader(fileName, True)
Dim objWriter As New System.IO.StreamWriter(newfile, False)
Dim line
'write back
While (line = objReader.ReadToEnd() <> Nothing)
If (line.StartsWith("RELS")) Then
objWriter.WriteLine(relstTextBox.Text)
Else
objWriter.WriteLine(line)
End If
End While
objReader.Close()
objWriter.Close()
Else
MessageBox.Show("Could not find " + trackname + " track text file sucessfully")
End If
End Sub
私はそれを試みましたが、まだ新しいファイルが作成されていますが、空白のファイルだけです。私は間違って何をしていますか?私はまた、それが必要ではないことが分かったので、Dim objReader As New System.IO.StreamReader(fileName)から真実を取り除いた。コードは私には意味がありますが、なぜファイルに書き込まれていないのか分かりません – user877806
あなたのwhileループの問題は修正されました。私はtanskの上に貼り付けた更新コードをご覧ください – Waqas
ITが働いた!どうもありがとうございます!私はその仕事をするために数時間かけて努力しました! – user877806