VB.NET /写入CSV文件时缺少第一行

ac1kyiln  于 2023-02-06  发布在  .NET
关注(0)|答案(1)|浏览(181)

写了一个程序,写入名称,邮政编码,设备类型,损坏类型到CSV文件,由于某种原因,它错过了第一行。
谢谢

Sub fileWriting(ByVal file As String, ByVal name As String, ByVal postcode As String, ByVal dmgType As String, ByVal devType As String) ' writing to files function
        Dim ObjStreamWriter As StreamWriter
        ObjStreamWriter = New StreamWriter(file, True)

        ObjStreamWriter.Write(name & ",")
        ObjStreamWriter.Write(postcode & ",")
        ObjStreamWriter.Write(dmgType & ",")
        ObjStreamWriter.WriteLine(devType)

        ObjStreamWriter.Close()

    End Sub

jgwigjjp

jgwigjjp1#

上面代码中的一点:

ObjStreamWriter = New StreamWriter(file, True)

将追加到一个现有文件,如果该文件已经存在。因此,您追加的文本可能存在于文件的更下方,这取决于您已经写入了多少。
此外,StreamWriter实现了IDisposable,因此如果要立即关闭对象,首选的实现方法是在Using块中示例化它。

Using ObjStreamWriter = New StreamWriter(file, True)
    ObjStreamWriter.Write(name & ",")
    ObjStreamWriter.Write(postcode & ",")
    ObjStreamWriter.Write(dmgType & ",")
    ObjStreamWriter.WriteLine(devType)
End Using

我不确定这些是否能解决你的问题,因为没有足够的代码来真正确定这一点,但如果你有文本不刷新的问题,这可以确保你自动做一切所需的正确关闭文件。通常情况下,这将是文本从文件的结尾丢失,而不是开始,但它可能会有所帮助。

相关问题