2017-05-19 1 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 
관련 문제