【发布时间】:2015-12-02 20:20:05
【问题描述】:
我在一个文件夹中有“N”个文件,文件名遵循一些常见的过程(file0....fileN)。文件名如下:
file1.pdf
..
file7.pdf
..
file10.pdf
..
file15.pdf
..
fileN.pdf
我正在使用以下代码将这些文件收集到一个字符串列表中:
Dim Files As String() = Directory.GetFiles(folderBase + "\files", "*.pdf")
我面临的问题是我按以下顺序进入列表:
file1.pdf
file10.pdf
..
file2.pdf
..
file15.pdf
..
fileN.pdf
在 file1.pdf 之后获取 file10.pdf。我想在sequential order(file1.pdf,file2.pdf...etc)中获取文件名
我也试过了,但它不能解决我的问题:
Dim Files As List(Of String) = Directory.GetFiles(folderBase + "\files", "*.pdf").OrderBy(Function(f) New FileInfo(f).Name).ToList()
【问题讨论】:
-
这不是一个解决方案,但是如何重命名您的文件,例如:File001.pdf、file010.pdf、file084.pdf 等等?
-
我的文件不是那种格式。这些是动态创建的文件,没有填充数字,所以文件名不包含 001 或 002 等
-
如果文件是一个接一个创建的,那么您可以根据创建日期时间读取它们。
-
还有一点,当你给你的文件起名字的时候,然后像 File[DateTimeStamp] .. 这样的顺序很容易对它们进行排序。
-
这是按顺序排列的 - 字典顺序。 “File10”或“File199”中的“1”在“File2”中的“2”之前。如果您无法更改创建它们的内容以使用 File### 表示法,您可能可以按照文件创建日期进行