2011-04-10 45 views
1

目錄中的文件列表將使用在File類的list()方法給問題,如果它有成千上萬的文件中有一個目錄?這可能導致數組返回使用太多的內存?獲得有大量的文件在Java

還有什麼替代方法?

+0

當你嘗試過什麼事? – 2011-04-10 21:54:22

回答

0

不可能的(這相當於分配幾兆字節,頂部)。試試吧首先,尋找解決方法,只有當它是一個真正的問題:)

1

可能性不大。你應該很好用File.list()。數千個文件名在內存方面並不多。

至於替代品,根本就沒有什麼「更好的方式」來做到這一點在Java中,正如我已經說過,你可能不會需要他們。

0

我可能是錯誤的這一點,但肯定有節省開支返回的數據量沒有可能的方式。返回的數組將始終使用存儲與目錄中的文件相同數量的字符串所需的字節數。我可以看到減少內存使用的唯一方法是使用一些複雜的字符串壓縮技術,或者只是將文件組織到文件夾中,然後僅使用您需要的那些列表方法。希望有所幫助。

+0

你好,我只是想可能有一些方法,給文件列表作爲流,或分段或什麼的,而不是整個數組。 – twisted 2011-04-10 20:48:52

0
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()); 
     } 
    } 
}