Vb.net 在Visual Basic 2010中写入顺序文件的新行

Vb.net 在Visual Basic 2010中写入顺序文件的新行,vb.net,file-writing,Vb.net,File Writing,好的,我应该能够访问一个已经有值的文件,并将值写入该文件(即问题) 这是我目前的代码: Private Sub AddQuestion(sender As System.Object, e As System.EventArgs) Handles btnQuestions.Click Dim pass, response, question As String pass = "sample01" response = InputBox("Please enter the

好的,我应该能够访问一个已经有值的文件,并将值写入该文件(即问题)

这是我目前的代码:

Private Sub AddQuestion(sender As System.Object, e As System.EventArgs) Handles btnQuestions.Click
    Dim pass, response, question As String
    pass = "sample01"
    response = InputBox("Please enter the administrator password.", "Password")
    If response = pass Then
        FileOpen(1, "W:\Visual Studio 2010\Projects\Culminating\assets\questions.txt", OpenMode.Output)
        Do
            question = InputBox("Enter new question.", "New Question")
            If question = String.Empty Then
                Exit Do
            End If
            Write(1, question)
            WriteLine(1)
        Loop
        FileClose(1)
    Else : MsgBox("Incorrect password. Please enter again.", MsgBoxStyle.Critical, "Incorrect Password")
    End If
End Sub
这会将问题添加到我的文件中,但是,如果我退出输入框并重试,它将用新问题覆盖旧问题

FileOpen(1, "W:\Visual Studio 2010\Projects\Culminating\assets\questions.txt", OpenMode.Output)
OpenMode.Output
打开文件以覆盖内容。您需要
OpenMode.Append


OpenMode.Output
打开文件以覆盖内容。你想要
OpenMode.Append

啊,我们的笔记说要使用
OpenMode.Output
,所以我同意了。非常感谢,工作非常完美。啊,我们的笔记上说要使用
OpenMode.Output
,所以我同意了。非常感谢,工作非常完美。FileOpen函数是一个非常古老的函数,主要用于与VB6向后兼容。如果你正在用VB.NET编写新代码(或者看起来像是学习VB.NET),那么你应该考虑用现代方法来做。这可以使用VB.NET特定的
My.Computer.FileSystem
对象来执行文件I/O,也可以使用通用的.NET
System.IO.file
类。@CodyGray谢谢。我想这样做,但是我们的老师对我们如何编写代码有特定的要求,所以我尝试按照他向我们演示的方式来做。也许可以向您提供老师的特定要求,以便有人能够提供满足这些要求的答案?FileOpen函数是一个非常古老的函数,主要用于与VB 6向后兼容。如果你正在用VB.NET编写新代码(或者看起来像是学习VB.NET),那么你应该考虑用现代方法来做。这可以使用VB.NET特定的
My.Computer.FileSystem
对象来执行文件I/O,也可以使用通用的.NET
System.IO.file
类。@CodyGray谢谢。我想这样做,但是我们的老师对我们如何编写代码有具体的要求,所以我试着按照他向我们演示的方式来做。也许可以向您提供老师的具体要求,以便有人能够提供满足这些要求的答案?