2017-05-19 23 views
0
public Vector readFiles(File Mydir) { 

     Vector<File> vec = new Vector<>(10,10); // to store the needed files 

     for (File f: Mydir.listFiles()){ 
      if (!f.isDirectory()){ 
       System.out.println("file found"+ f.getName()); 
       vec.addElement(f); 

       // reads all the files in the directory recursively 
      } else 
       readFiles(f); 
     } 
     // System.out.println("size of vec = " + vec.size()); 
     return vec; 
    } 

こんにちは私は、ディレクトリ内のすべてのtxtとpdfファイルを読み込み、ベクターに格納しようとしています。私のベクトルは要素として4つしか追加しません! ファイルを印刷しましたが、それらはすべて見つかりましたが、vecには追加されませんでした。あなたは再帰的に自分のメソッドを呼び出すときにあなたの助けに感謝はファイルを再帰的に読み込み、それらを格納するJava

+0

あなたが定義しているので各再帰の新しいベクトル 'readFiles(f);'の戻り値からすべての要素を呼び出しメソッドのベクトルに加える必要があります – Jens

答えて

0

、あなたは大切なベクトルを提供していない:それは、各呼び出しで上書きされ

readFiles(f); 


public Vector readFiles(File Mydir) { 

    Vector<File> vec = new Vector<>(10,10); // to store the needed files