1

使用しようとし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

ファイルの 1 つだけが表示され、それだけです。

4

2 に答える 2

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
于 2013-10-08T14:49:19.230 に答える