获取给定文件夹下所有文件的绝对路径

6

我需要在给定目录下记住所有文件名的绝对路径。

myDirectory.list() - 仅检索文件名的String[](不包括它们的绝对路径)。

不想使用File对象,因为它会消耗更多的内存。

最后一件事 - 我可以使用apache collections等(但没有找到任何有用的东西)。

2个回答

10
String directory = <your_directory>;
File[] files = new File(directory).listFiles();
for(File file : files){
  if(file.isFile()){
    System.out.println(file.getAbsolutePath());
  }
}

这很有效,但当你说不想使用文件对象时,我有点困惑,但无论如何,我猜这样也可以。

谢谢,感激不尽。使用File对象比仅保留路径字符串更耗费内存。如果我要处理有10万个文件的文件夹,我担心会出现内存不足等问题。因此,我正在寻找一个简洁的解决方案,以获取文件夹中所有绝对文件路径的String[]。 - user1025852
1
如果您已经知道文件的根路径和相对路径,并且不想执行另一个迭代来连接这些字符串,也不想使用文件对象,因为担心内存不足,那么您应该将数组分成较小的数组,并按照提供的步骤分别处理它们。 - victorantunes

-1

myDirectory 不是包含了那些文件的目录吗? 如果是这样,只需将 myDirectory.list() 返回的数组中每个单元格的路径与 myDirectory 中的路径相结合即可。


谢谢。你的意思是对MyDirectory.list()进行另一次迭代,并将其与新的String[]组合吗?有没有更简洁的开箱即用解决方案? - user1025852
我的目录是什么类型? - Sharon Dorot
我感到困惑。一个文件对象如何包含目录的信息? - Sharon Dorot
Java中的文件和目录不是表示为File对象吗? ;) - user1025852

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接