StreamReader第一行不会显示在文本框中 - VB.NET

时间:2015-12-17 04:59:36

标签: vb.net line show streamreader

我有那些写入和读取文件的函数。它写得正确,但是当我想从它读取并将它放在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

这是学校作业的一部分,所以我很确定那里发生了什么,这就是我来这里的原因。可能是一个新手的错误,但我似乎无法找到它,也很抱歉那里的法国人。

2 个答案:

答案 0 :(得分:0)

您覆盖第一条读取线。

    line = fichier.ReadLine() // line to remove
    Do
        line = fichier.ReadLine()

您只需要删除注释行。

答案 1 :(得分:0)

{{1}}

结束功能`

参见我评论过的专栏。在循环之前你正在读一行。所以它会读到第一行。一旦你进入循环,你再次阅读另一行。因此它现在将获得第二行并用第二行数据替换行变量。所以请注意在循环之前阅读,它会正常工作。