Csharp/C#教程:如何按升序读取文件夹中的文件?分享


如何按升序读取文件夹中的文件?

我有包含图像文件的文件夹,其编号为1,2,3 …
我如何按顺序读取图像文件名,从1开始直到结束(无论它是什么数字)。

您可以在文件数组上使用OrderBy 。

DirectoryInfo dir = new DirectoryInfo(@"C:yourfolder"); FileInfo[] files = dir.GetFiles(); //User Enumerable.OrderBy to sort the files array and get a new array of sorted files FileInfo[] sortedFiles = files.OrderBy(r => r.Name).ToArray(); 

对于只有数字(int)名称的文件号,请尝试:

 FileInfo[] sortedFiles = files .OrderBy(r => int.Parse(Path.GetFileNameWithoutExtension(r.Name))) .ToArray(); 

Habib的答案是正确的,但请注意,你不会按数字顺序得到结果(即你在处理2.png之前处理10.png)。 要以数字方式对文件名进行排序,而不是按字母顺序排序:

 foreach (string fileName in Directory.GetFiles(Environment.CurrentDirectory) .OrderBy((f) => Int32.Parse(Path.GetFileNameWithoutExtension(f1)))) { // do something with filename } 

将所有文件名读入数组。 按升序对数组元素进行排序。 完成!

使用Arraylist收集目录中的所有文件名并对它们进行排序(它也适用于字母数字文件名

上述就是C#学习教程:如何按升序读取文件夹中的文件?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

  ArrayList  dirFiles=new ArrayList(); File file = new File("DirectoryPath"); File createdFile = null; String [] str=file.list(); for(int j=0;j 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/998439.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐