使用Java重新排列文件数组内容



我有一个File数组,其中包含文件夹中的文件名列表。

例如

File file = new File("/path");
File[] arr = file.listFiles();

因此,我的arr将所有文件名都包含在文件路径中。

arr[folder1,Folder2,Folder3]。

我还有一个字符串数组列表,其中包含(Folder3、Folder1、Folder2)。

我需要按照arrrayList的顺序更改rr内容。

(即)在处理我的arr后,将具有[Folder3,Folder1,Folder2]。

我需要这样做,因为,我必须读取基于特定层次结构的文件夹。

我是新手,请帮助我如何实现它。

如果已经按照所需顺序将文件夹名称作为字符串列表,为什么要使用File.listFiles()?

只需按照列出的顺序从名称创建File对象,如下所示:

List< String > arrayList = Arrays.asList("Folder3", "Folder1", "Folder2");
File parent = new File("/path");
File[] arr = new File[arrayList.size()];
for ( int i = 0; i < arr.length; i++ )
    arr[i] = new File(parent, arrayList.get(i));
// Now arr will contain File objects in the order they are listed in arrayList

首先需要使用Arrays.asList方法将数组转换为列表。然后,您可以使用集合对数组列表进行排序。sort(yourNewArrayList):

List<File> sortedFileArrayList = Collections.sort(Arrays.asList(new File("/path").listFiles()));

但是,如果您只需要对数组进行排序,而不需要转换为列表(因为排序不需要列表转换),则可以使用

Arrays.sort(new File("/path").listFiles());

相反。

相关内容

  • 没有找到相关文章

最新更新