2012-04-07 86 views
2

我一直在開發一款街機遊戲,並且隨着每一個好的街機遊戲,它都有一個內置的記分牌,以便玩家可以看到誰的得分更高。我的問題是,每次它進入一個新的比分線,它會刪除文本文件中的所有前面的行。我一直在使用的代碼如下:在現有的文本文件中寫入文本VB.NET

If player1 > 25 Then 

     objReader.Close() 
     MsgBox("O " + jogador1 + " ganhou.") 
     tab1.Enabled = False 

     Dim wrtScore As String = "C:\Documents and Settings\Joao\My Documents\Visual Studio 2010\Projects\flaghunter\flaghunter\deposito\scores.txt" 
     Dim objWriter As New System.IO.StreamWriter(wrtScore) 

     wrtScore = wrtScore.Trim() 

     objWriter.WriteLine(jogador1 + " " + Str(player1)) 

     objWriter.Close() 


    End If 

感謝您的關注和任何幫助。

回答

6

Dim objWriter As New System.IO.StreamWriter(wrtScore, TRUE) 追加到文件,它這將創建該文件:d

+0

非常感謝。我需要追加到堆棧的末尾,這完美的工作!謝謝你,紅阮,韋恩。 – 2017-04-21 17:55:11

8

使用File.AppendText代替:

// This text is always added, making the file longer over time 
    // if it is not deleted. 
Using sw As StreamWriter = File.AppendText(path) 
     sw.WriteLine("This") 
     sw.WriteLine("is Extra") 
     sw.WriteLine("Text") 
End Using 

如果不存在,在第一時間和追加文本,如果該文件已經存在

+0

如何在文本文件的起始位置附加文本。 – Pramod 2015-04-30 10:38:56

0

追加到文件的開頭,嘗試加載內容,然後覆蓋文件並在底部放下內容。 類似於:

Dim sr as New StreamReader("path/to/file.ext") 
Dim text as String = sr.ReadToEnd() 
sr.Close() 
Dim sw as New StreamWriter("path/to/file.ext") 
sw.WriteLine("New stuff") 
sw.WriteLine("More New Stuff") 
sw.WriteLine(text) ' Add original content back 
sw.Close()