如何在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;
}
答案 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 Block的Enterprise 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();
}
}