如何按升序读取文件夹中的文件?
我有包含图像文件的文件夹,其编号为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