如何从文本文件中删除空行? vb.net?

时间:2014-01-18 02:19:40

标签: vb.net

我有一个我正在创建的程序,当我去删除空行时,我就是这样做的。

For Each i As ListViewItem In lvSongs.SelectedItems
        lvSongs.Items.Remove(i)
        CurrentSong = i.SubItems(4).Text 'This is the Songs Path

        files = File.ReadAllText("songs.txt") 'The songs path's are in the txt


        'I am using this as a list of lines i want to keep in
        'the txt file.
        Dim linesToKeep As New List(Of String)

        For Each line As String In files 'Goes through lines
            If Not line.Contains(CurrentSong) Then  'checks to see if line is Current song
                linesToKeep.Add(line)               'Adds line if its not CurrentSong to the list
            End If
        Next


        File.WriteAllLines("songs.txt", linesToKeep.ToArray())

但是当我去检查txt文档时,我得到了这个:

示例(但水平书写,每个字母都在新行上)

在我的朋友说的文本文件中,因为我将行设置为字符串而不是字符串()。

感谢anyhelp! 如果我困惑你,请询问更多信息...

1 个答案:

答案 0 :(得分:1)

问题是您使用的是ReadAllText API。这将返回String而不是String(),因此当您稍后迭代时,您将迭代文件中的每个字符,而不是每行。要解决此问题,请使用返回ReadAllLines

String() API
files = File.ReadAllLines("songs.txt")

注意我无法判断files是隐式声明的本地字段还是字段。如果是键入String的字段,则需要将类型更改为String()

相关问题