从文本文件读取到ListBox

时间:2017-10-25 18:22:10

标签: vb.net file listbox streamreader

我在从文本文件中读取数据时遇到了一些麻烦。这几乎可以工作,但是文本文件中单独行中的数据被组合到ListBox中的一个长行。怎么办呢?

Private Sub frmOpretrskAar_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim FILE_NAME As String = "c:\users\claus\onedrive\SLERP\fmr.txt"
    Dim objReader As New System.IO.StreamReader(FILE_NAME)
    LBmuligeFirmaer.Items.Add(objReader.ReadToEnd)
    objReader.Close()
End Sub

3 个答案:

答案 0 :(得分:3)

对数组使用ListBox.Items.AddRange方法,在这种情况下,它将是一个表示文本文件行的数组。您可以使用IO.File.ReadAllLines方法获取这些行。这是一个简单的例子:

LBmuligeFirmaer.Items.AddRange(IO.File.ReadAllLines("c:\users\claus\onedrive\SLERP\fmr.txt"))

答案 1 :(得分:1)

非常简单 -

List<string> _list = File.ReadAllLines(fileName).ToList();

见下图 -

enter image description here

答案 2 :(得分:-1)

我目前无法在我的IDE中对此进行测试,请告诉我,如果某些内容无法正常工作但我使用了类似的东西:

Imports System.IO
Imports System.Windows.Forms

'assigning a string value to the file's location
Dim FILE_NAME As String = "c:\users\claus\onedrive\SLERP\fmr.txt"

'clearing the listbox
LBmuligeFirmaer.items.clear

'declaring a filereader
Dim fileReader As System.IO.StreamReader
fileReader =       
'obtaining file location from string to the stringreader    
My.Computer.FileSystem.OpenTextFileReader(FILE_NAME)
Dim stringReader As String
'reading first line
stringReader = fileReader.ReadLine()
'adding line to the listbox
LBmuligeFirmaer.items.add(stringreader)
'reading second line
stringReader = fileReader.ReadLine()
'adding line to listbox
LBmuligeFirmaer.items.add(stringreader)

'and so on...