2012-04-07 13 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

ありがとうございました。私はスタックの最後に追加する必要があった、これは完全に働いた!赤いNguyễn、ウェインありがとう。 –

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

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() 
関連する問題