2013-08-26 4 views
5

特定のディレクトリの下にあるファイル名の絶対パスをすべて保持する必要があります。特定のフォルダの下にあるファイルの絶対パスをすべて取得する

myDirectory.list() - ファイル名の文字列[]を絶対パスなしで取得します。

ファイルオブジェクトを使用したくないのは、より多くのメモリを消費するためです。

最後のこと - 私はApacheのコレクションなどを使用することができます(しかし、それに役立つものは何も見つかりませんでした)。

答えて

0

myDirectoryには、これらすべてのファイルのディレクトリがありますか? その場合は、myDirectoryのパスと、配列の各セルを組み合わせて返します。myDirectory.list()が返されます。

+0

ありがとうございました。あなたはMyDirectory.list()で孤立した繰り返しを行い、それを新しいString []に結合しますか?箱の中に何かきれいなものがありますか? – user1025852

+0

myDirectoryはどのようなタイプですか? –

+0

ファイルオブジェクト..... – user1025852

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

これは動作しますが、私はお奨めはあなたがしたいの使用Fileオブジェクトをないと言うとき、私は混乱していると言うが、何でも動作しますが、私は推測します。

+0

ありがとうございます。 Fileオブジェクトを使用すると、パスの文字列を保持するだけで、メモリが非常に高くなります。私は100Kファイルのフォルダを処理します。私はメモリが不足しているなど恐れています。フォルダ内のすべての絶対ファイルパスの文字列[]を取得するためのきれいなソリューションを探しています。 – user1025852

+0

ルートパスあなたのファイルの相対パスであり、これらの文字列を連結するために別の繰り返しを実行するつもりはなく、メモリ不足を恐れてFileオブジェクトを使用したくない場合は、おそらく配列を小さな配列提供された手順に従って個別に処理します。 – victorantunes

+0

ありがとう、それを感謝する – user1025852

関連する問題