Streamwriter不向文件添加文本?

时间:2013-11-02 21:42:30

标签: vb.net visual-studio visual-studio-2012

我有以下代码:

If line = Nothing Then
    MsgBox("Login failed.")
        Using sw As New StreamWriter(File.Open(Index.strLogPath, FileMode.OpenOrCreate)) ' open or create a new file at our path
        sw.BaseStream.Seek(0, SeekOrigin.End) ' append new users to the end
        sw.AutoFlush = True
        sw.WriteLine("line is nothing")
        sw.Flush()
        sw.Close()
        End Using

End If

我的行=没有满足任何条件,msgbox弹出让我知道,但文件未创建。如果文件在那里,则不会添加任何内容。

我已经检查了路径有效性,并确保应用程序在那里拥有权限​​,我能想到的一切都不起作用,并且让它更令人沮丧,没有错误!任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您是否知道File类已经有一种实用方法可以做到这一点?

File.AppendAllText(Index.strLogPath, "line is nothing")

应该那么简单。 :)

修改

如果您坚持自己管理文件流,请尝试以下操作:

    Using sw As New StreamWriter(File.Open(Index.strLogPath, FileMode.Append)) ' open or create a new file at our path
        sw.WriteLine("line is nothing")
    End Using

兴趣点:

  • 使用FileMode.Append代替OpenOrCreate
  • 无需冲洗或关闭。当您离开“使用”块时,这将自动完成。