将多个文件读入列表视图VB.Net

时间:2012-04-19 00:21:27

标签: vb.net

我需要要求该程序的用户从任何目录中选择两个文本文件。然后我需要在列表视图中显示它们,我已经构建了它。文件1需要加载到第一列,文件2需要加载到第二列。它们将相互对应。

我目前有以下内容允许多选

OpenFileDialog.Multiselect = True

我遇到的问题是将这些独特的文件分成相应的列。例如,以下代码非常有效地将第一个文件的内容加载到第一列:

        Dim fileName As String = OpenFileDialog.FileName

        fileReader = New StreamReader(fileName)

        Do While fileReader.Peek() <> -1
        firstFile = fileReader.ReadLine & vbNewLine
        ListView1.Items.Add(firstFile)

        Loop

当我选择第二个文件时,第一个文件的内容将被同一列替换为第二个文件的内容。

我已经看过使用数组,但不确定如何将唯一文件加载到每个索引中。

我不确定从哪里开始。

1 个答案:

答案 0 :(得分:3)

使用时

OpenFileDialog1.Multiselect = true

所有选定的文件都已存储为OpenFileDialog1.FileNames中的集合,只需遍历所有值并将它们放入列表视图

ListView1.Items.Clear
Dim file as string
For Each file in OpenFileDialog1.FileNames
    ListView1.Item.Add(file)
Next

如果您想在不同的列中显示文件内容,那么您可能需要更改一些代码

    Dim fileName As String = OpenFileDialog.FileName

    fileReader = New StreamReader(fileName)

    Dim FileItem As New ListViewItem
    Do While fileReader.Peek() <> -1
        firstFile = fileReader.ReadLine & vbNewLine

        FileItem .SubItem.Add(firstFile)

    Loop
    ListView1.item.add(Item)

但是,您可能需要在添加任何项目之前声明ListView1中的列。如果ListView1中没有列定义,那么即使您已将文件内容放入subItem,也无法显示列