2009-08-26 11 views
7

Jak mogę kodować poniższy algorytm w VB.NET?Tworzenie/edycja pliku tekstowego poprzez VB.NET

Procedure logfile() 
{ 
    if "C:\textfile.txt"=exist then 
     open the textfile; 
    else 
     create the textfile; 
    end if 
    go to the end of the textfile; 
    write new line in the textfile; 
    save; 
    close; 
} 

Odpowiedz

12
Dim FILE_NAME As String = "C:\textfile.txt" 
Dim i As Integer 
Dim aryText(4) As String 

aryText(0) = "Mary WriteLine" 
aryText(1) = "Had" 
aryText(2) = "Another" 
aryText(3) = "Little" 
aryText(4) = "One" 

Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True) 

For i = 0 To 4 
    objWriter.WriteLine(aryText(i)) 
Next 

objWriter.Close() 
MsgBox("Text Appended to the File") 

Jeśli ustawisz drugi parametr True w konstruktorze System.IO.StreamWriter „s będzie dołączany do pliku, jeśli już istnieje, lub utworzyć nowy, jeśli nie robi.

2

Najlepiej używać komponentu, który wykonuje ten typ wylogowywania po wyjęciu z pudełka. Na przykład Logging Application Block z Enterprise Library. W ten sposób uzyskasz elastyczność, skalowalność i nie będziesz mieć sporów z plikiem dziennika.

Aby odpowiedzieć na to pytanie konkretnie (przepraszam, nie wiem, VB, ale tłumaczenie powinno być dość proste) ...

void Main() 
{ 
    using(var fs = File.Open(@"c:\textfile.txt", FileMode.Append)) 
    { 
     using(var sw = new StreamWriter(fs)) 
     { 
      sw.WriteLine("New Line"); 
      sw.Close(); 
     } 

     fs.Close(); 
    } 
} 
8

Można to osiągnąć w jednej linii TOO:

System.IO.File.AppendAllText(filePath, "Hello World" & vbCrLf) 

W razie jej braku utworzy plik, dołączy tekst i zamknie go ponownie.

Zobacz MSDN, File.AppendAllText Method.

+0

bardzo proste i czyste –

Powiązane problemy