在文本文件的开头合并没有空行的文本文件

时间:2015-03-26 13:21:16

标签: vb.net text-files

我正在使用VB.Net将多个文本文件合并为一个。它正确合并文本文件,但文本文件顶部出现空白行,这意味着我无法正确读取文本文件。任何关于如何删除此空白行的想法将不胜感激。这是我们的代码。

Dim lines As String() = File.ReadAllLines("7UP.txt")
Dim firstLine As String = lines.First
Dim lastLine As String = lines.Last

Using addProducts = File.AppendText("Top5.txt")
    addProducts.WriteLine(lines.First)
    addProducts.WriteLine(lines.Last)
End Using

lines = File.ReadAllLines("Americano.txt")

Using addProducts = File.AppendText("Top5.txt")
    addProducts.WriteLine(lines.First)
    addProducts.WriteLine(lines.Last)
End Using

lines = File.ReadAllLines("AppleJuice.txt")

Using addProducts = File.AppendText("Top5.txt")
    addProducts.WriteLine(lines.First)
    addProducts.WriteLine(lines.Last)
End Using

1 个答案:

答案 0 :(得分:1)

这将只为您提供包含数据的行:

Dim lines As String() =
    File.ReadAllLines("7UP.txt").
    Where(Function(x) x.Trim <> String.Empty).
    ToArray()

您可能希望开始像这样组织代码,以使其更易于管理:

Private Sub PerformMerge()

    Const top5File As String = "Top5.txt"

    MergeData(GetLinesWithData("7UP.txt"), top5File)
    MergeData(GetLinesWithData("Americano.txt"), top5File)
    MergeData(GetLinesWithData("AppleJuice.txt"), top5File)

End Sub

Private Function GetLinesWithData(sourceFile As String) As String()

    Return File.ReadAllLines(sourceFile).
        Where(Function(x) x.Trim <> String.Empty).
        ToArray()

End Function

Private Sub MergeData(lines As String(), destinationFile As String)

    Using addProducts = File.AppendText(destinationFile)
        addProducts.WriteLine(lines.First)
        addProducts.WriteLine(lines.Last)
    End Using

End Sub