如何在 Visual Basic 中按物理顺序列出文件夹中的文件?

问题描述 投票:0回答:1

在 VB.NET (Visual Basic) 中,我想按照它们存储在光盘上的物理顺序列出 Windows 文件夹中的文件。我有一些 mp3 播放器不按字母顺序对歌曲进行排序,而是按照歌曲存储在光盘中的顺序播放它们。示例:

我按此顺序将文件复制到文件夹中,mp3 播放器按相同顺序播放它们:

04 Song 4
07 Song 7
01 Song 1
06 Song 6
02 Song 2

我不是在谈论播放歌曲的 Visual Basic 程序。我的点唱机程序运行良好。我说的是一个小型收音机/MP3 播放器,以及我的一辆车中的信息娱乐系统。我想使用 Visual Basic 向我显示它们的播放顺序,告诉我是否需要重新存储所有这些文件或者文件夹是否可以正确播放。如果我使用 DOS 命令提示符和 DIR 命令,它会按物理顺序显示它们。我希望能够使用 Visual Basic 来做到这一点。

我不想运行 DOS 命令。如果能将文件名和目录信息输入到程序中那就太好了。

谷歌搜索没有给我提供任何帮助。

我查看了

FileIO.FileSystem.GetFiles(...)
命令上的参数,没有看到任何帮助。

.net vb.net getfiles
1个回答
0
投票

好的,举个简单的例子,您可以从这样的文件夹中提取文件:

Private Sub ListBoxPicture_Load(sender As Object, e As EventArgs) Handles Me.Load

    Dim sPicturesDir = "c:\test\balls"
    Dim f As New DirectoryInfo(sPicturesDir)
    Dim fFiles = f.GetFiles("*.png")

    For Each fL As FileInfo In fFiles
        ListBox1.Items.Add(fL.Name)
    Next

End Sub

现在,在上面我使用了 *.png,但你当然可以使用 *.mp3

所以,我创建了一个带有列表框的表单,现在的结果是这样的:

且顺序与文件夹内文件相同

这样说:

如果您愿意,您可以使用以下代码显示完整的文件名:

        ListBox1.Items.Add(fL.FullName)

现在的结果是这样的:

由于我们使用“FileInfo”,因此文件的大小也是可用的。

这样说:

        ListBox1.Items.Add(fL.Name & " (" & fL.Length & ")")

我们现在有了这个:

因此,该文件夹中的文件没有排序或更改顺序,如上所示,文件按其在该文件夹中的顺序返回。

© www.soinside.com 2019 - 2024. All rights reserved.