2009-08-26 3 views
7

Wie kann ich den folgenden Algorithmus in VB.NET codieren?Erstellen/Bearbeiten von Textdateien über 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; 
} 

Antwort

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") 

Wenn Sie den zweiten Parameter True in der System.IO.StreamWriter ‚s Konstruktor setzen Sie ihn in eine Datei anhängen, wenn es bereits vorhanden ist, oder eine neue erstellen, wenn es nicht der Fall ist.

2

Es ist am besten, eine Komponente zu verwenden, die diese Art der Abmeldung ausführt. Die Logging Application Block von Enterprise Library zum Beispiel. Auf diese Weise erhalten Sie Flexibilität und Skalierbarkeit und haben keine Konflikte mit Ihrer Protokolldatei.

Um Ihre Frage zu beantworten, speziell (sorry, ich weiß nicht, VB, aber die Übersetzung sollte einfach genug sein) ...

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

Auch das in einer einzigen Zeile erreicht werden kann:

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

Es wird die Datei erstellen, wenn fehlt, den Text anfügen und erneut schließen.

Siehe MSDN, File.AppendAllText Method.

+0

sehr einfach und sauber –