我有那些写入和读取文件的函数。它写得正确,但是当我想从它读取并将它放在Visual Studio中的RichTextBox中时,它不会向我显示第一行并且我完全失去了这一行。我有点匆忙。
功能读取/保存
Imports System.IO
Module ModuleFichier
Public Sub Save(ByVal Question As String, ByVal RepA As String, ByVal RepB As String, ByVal RepC As String, ByVal Rep As String)
If Not File.Exists("B:\Questions.txt") Then
File.Create("B:\Questions.txt").Dispose()
End If
Using fichier As StreamWriter = File.AppendText("B:\Questions.txt")
fichier.WriteLine(Question)
fichier.WriteLine(RepA)
fichier.WriteLine(RepB)
fichier.WriteLine(RepC)
fichier.WriteLine(Rep)
End Using
End Sub
Public Function Read(txtbox As String) As String
If Not File.Exists("B:\Questions.txt") Then
txtbox = "Fichier vide"
Return txtbox
Exit Function
End If
Using fichier As New StreamReader("B:\Questions.txt")
Dim line As String
line = fichier.ReadLine()
Do
line = fichier.ReadLine()
txtbox += vbNewLine & line
Loop Until line Is Nothing
Return txtbox
End Using
End Function
End Module
称为
的函数Private Sub butQuestionsQ_Click(sender As Object, e As EventArgs) Handles butQuestionsQ.Click
txtQuestionsQ.Text = Read(txtQuestionsQ.Text)
End Sub
这是学校作业的一部分,所以我很确定那里发生了什么,这就是我来这里的原因。可能是一个新手的错误,但我似乎无法找到它,也很抱歉那里的法国人。
答案 0 :(得分:0)
您覆盖第一条读取线。
line = fichier.ReadLine() // line to remove
Do
line = fichier.ReadLine()
您只需要删除注释行。
答案 1 :(得分:0)
{{1}}
结束功能`
参见我评论过的专栏。在循环之前你正在读一行。所以它会读到第一行。一旦你进入循环,你再次阅读另一行。因此它现在将获得第二行并用第二行数据替换行变量。所以请注意在循环之前阅读,它会正常工作。