通过VB.NET创建/编辑文本文件

时间:2009-08-26 04:02:37

标签: vb.net text-files

如何在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;
}

3 个答案:

答案 0 :(得分: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")

如果在True的构造函数中将第二个参数设置为System.IO.StreamWriter,它将附加到文件(如果它已经存在),或者如果不存在则创建一个新文件。

答案 1 :(得分:8)

这也可以用一行来实现:

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

如果丢失则会创建文件,附加文本并再次关闭。

请参阅MSDN,File.AppendAllText Method

答案 2 :(得分:2)

最好使用开箱即用的这种类型的日志记录组件。例如来自Logging Application BlockEnterprise Library。这样,您就可以获得灵活性,可伸缩性,并且不会与日志文件发生冲突。

专门回答你的问题(抱歉,我不懂VB,但翻译应该很简单)......

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();
    }
}