我尝试使用Directory.Getfiles
,但它不会获取目录中的所有文件。文件采用.txt格式
这是Form_Load
中的代码:
Public SourceDir As String = Application.StartupPath & "\Source\"
If Not Directory.Exists(SourceDir) Then
Directory.CreateDirectory(SourceDir)
End If
Dim Files() As String = Directory.GetFiles(SourceDir )
For Each File In Files
Dim Lines() As String
Dim StockList As List(Of ListViewItem) = New List(Of ListViewItem)
Dim StockItem As ListViewItem
MsgBox(File)
Lines = IO.File.ReadAllText(File).Split(New String() {ControlChars.CrLf}, StringSplitOptions.RemoveEmptyEntries)
For j = 0 To Lines.Length - 1 Step 8
StockItem = New ListViewItem(Lines(j))
StockItem.SubItems.Add(Lines(j + 1))
StockItem.SubItems.Add(Lines(j + 2))
StockItem.SubItems.Add(Lines(j + 3))
StockItem.SubItems.Add(Lines(j + 4))
StockItem.SubItems.Add(Lines(j + 5))
StockItem.SubItems.Add(Lines(j + 6))
StockItem.SubItems.Add(Lines(j + 7))
listHouse.Items.Add(StockItem)
Next
Next
它只显示其中一个文件而且都是!
答案 0 :(得分:0)
您可能需要使用以下方式SearchOption.AllDirectories
。
Directory.GetFiles(SourceDir,"*.*",SearchOption.AllDirectories)
答案 1 :(得分:0)
试试这个,但首先你应该看看files()是否有完整的列表,然后再继续阅读文件。
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim SourceDir As String = Application.StartupPath & "\Source\"
If Not Directory.Exists(SourceDir) Then
Directory.CreateDirectory(SourceDir)
End If
Dim Files() As String = Directory.GetFiles(SourceDir)
For Each File In Files
Dim Lines() As String
Dim StockList As List(Of ListViewItem) = New List(Of ListViewItem)
Dim StockItem As ListViewItem
Lines = IO.File.ReadAllText(File).Split(New String() {ControlChars.CrLf}, StringSplitOptions.RemoveEmptyEntries)
StockItem = New ListViewItem(Lines(0))
If Lines.Length > 1 Then
For j = 1 To Lines.Length - 1
StockItem.SubItems.Add(Lines(j))
Next
End If
listHouse.Items.Add(StockItem)
Next
End Sub