StreamWrite无法将textbox.Text写入.txt文件(Vb.net)

时间:2013-08-16 14:34:47

标签: vb.net file text

我一直在寻找和尝试多种解决方案来解决这个问题。我正在尝试将文本框的结果保存为.txt文件中的一行文本。

以下是我尝试调用StreamWriter执行此操作之前,之后和之后的代码。

    If inttAnswer = vbOK Then
                totalprofiles.Write(filename & vbNewLine) '*this is not working*
                txtProfileName.Text = ""
                Me.Hide()
                Profiles.StartPosition = FormStartPosition.Manual
                Profiles.Location = Me.Location
                Profiles.Show()
    End If

以下是我用于此段代码的任何声明,它是按下按钮时出现的代码块的一部分:

    Dim totalprofiles2 As String = "C:\SameSens\Profiles\TotalProfiles.txt"
    Dim totalprofiles As New System.IO.StreamWriter(totalprofiles2, True)

    Dim inttAnswer As Integer
    Dim filename As String = txtProfileName.Text

感谢您的帮助。 如果这是不可能的,也许您可​​以建议一个不同/更好的替代方案,以便能够在按下此特定按钮后将txtProfileName.Text中的文本永久填充为项目的ComboBox。我认为用.txt文件填充ComboBox文件内容将是最简单和最实用的方法,但它的证明比我想象的要困难。

3 个答案:

答案 0 :(得分:1)

你可以试试这个

File.WriteAllText("c:\textfile.txt", TextBox1.Text)

但是引用了一个;

Imports System.IO

答案 1 :(得分:1)

如果您想要一次写入文件,请执行以下操作:

Dim path As String = "PathToYourFile.txt"
Dim sw As StreamWriter

If File.Exists(path) = False Then 
    ' Create a file to write to.
    sw = File.CreateText(path)

    sw.WriteLine(TextBox1.Text)

    sw.Flush()
    sw.Close()
End If

如果您想继续追加文件并让它随着时间的推移而增长,请执行以下操作:

Dim path As String = "PathToYourFile.txt"
Dim sw As StreamWriter

If File.Exists(path) Then 
    ' Append text to file, adding new text to the end of the file
    sw = File.AppendText(path)

    sw.WriteLine(TextBox1.Text)

    sw.Flush()
    sw.Close()
End If

注意:建议您使用Using块语句(我省略了它,因为我不确定您是否知道它是什么并且不想引起混淆),这将自动关闭{ {1}}对象,即使发生错误,如下所示:

StreamWriter

正如您所看到的,它使代码更简单,并且无需担心清理' Create a file to write to. Using sw = File.CreateText(path) sw.WriteLine(TextBox1.Text) sw.Flush() End Using 对象。

答案 2 :(得分:0)

事实证明我能够很容易地解决这个问题。再次告诉我,我不应该熬夜编码:/

我所要做的只是添加一行:

    totalprofiles.Close()

启动StreamWriter后直接启动。否则它似乎不想写任何东西,无论它是由什么产生的。

非常感谢那些帮助过的人,它教会了我“使用”声明的用处,我肯定会尝试将其纳入我的程序。