获取包含大量java文件的目录中的文件列表

获取包含大量java文件的目录中的文件列表,java,list,file,directory,Java,List,File,Directory,如果在File类中使用list()方法,如果目录中有数千个文件,会出现问题吗?这是否会导致返回的数组使用太多内存 有什么替代方案?不太可能(这相当于分配了几兆字节,顶部)。首先尝试一下,仅当这是一个真正的问题时才搜索解决方法:)不太可能(这相当于分配了几兆字节,顶部)。首先尝试一下,仅当它是一个真正的问题时才搜索解决方法:)不太可能。使用File.list()应该可以。数千个文件名在内存方面并不多 至于替代方案,没有任何“更好的方法”可以在Java中实现,正如我已经说过的,您可能不需要它们。不太

如果在
File
类中使用
list()
方法,如果目录中有数千个文件,会出现问题吗?这是否会导致返回的数组使用太多内存


有什么替代方案?

不太可能(这相当于分配了几兆字节,顶部)。首先尝试一下,仅当这是一个真正的问题时才搜索解决方法:)

不太可能(这相当于分配了几兆字节,顶部)。首先尝试一下,仅当它是一个真正的问题时才搜索解决方法:)

不太可能。使用
File.list()
应该可以。数千个文件名在内存方面并不多


至于替代方案,没有任何“更好的方法”可以在Java中实现,正如我已经说过的,您可能不需要它们。

不太可能。使用
File.list()
应该可以。数千个文件名在内存方面并不多


至于替代方案,没有任何“更好的方法”可以在Java中实现,正如我已经说过的,您可能不需要它们。

我可能错了,但肯定没有任何方法可以节约返回的数据量。返回的数组将始终使用所需的字节数来存储与目录中文件数量相同的字符串。我能看到的减少内存使用的唯一方法是使用一些复杂的字符串压缩技术,或者只是将文件组织到文件夹中,然后仅对需要的文件使用列表方法。希望这能有所帮助。

我可能错了,但肯定没有办法节约返回的数据量。返回的数组将始终使用所需的字节数来存储与目录中文件数量相同的字符串。我能看到的减少内存使用的唯一方法是使用一些复杂的字符串压缩技术,或者只是将文件组织到文件夹中,然后仅对需要的文件使用列表方法。希望能有所帮助。

是的,我只是在想一些方法,可以将文件列表作为流或分段或其他方式,而不是整个数组。是的,我只是在想一些方法,可以将文件列表作为流或分段或其他方式,而不是整个阵列。当你尝试它时发生了什么?当你尝试它时发生了什么?
import java.io.*;
import java.util.*;

public class prog14{
    public static void main(String[] args){
        String path = "";
        System.out.print("Enter the folder path: ");
        Scanner scn = new Scanner(System.in);
        path = scn.nextLine();
        File[] files = new File(path).listFiles();
        for (File file : files) 
        {
            System.out.println(file.getName());
        }
    }
}