2016-02-26 62 views
0

我在我的項目中有一個文件夾「文件」。我想創建一個查詢其中的所有文件。 1.如何在不指定完整路徑的情況下打開該文件夾? 2.如何將我的文件夾中的所有文件添加到此查詢中?項目中的文件夾「文件」中的文件查詢

ArrayDeque<File> files = new ArrayDeque<File>(); 

我寫了一些代碼。但程序給我的文件夾的名稱,而不是其中的文件的名稱。所以我的程序在我的項目文件夾中找不到文件夾。如何讓我的文件夾「folder1」沒有所有路徑?這是我的代碼

public static void main(String args[]) 
{ 
    File file = new File("<folder1>"); 
    ArrayDeque<File> queue = new ArrayDeque<File>(); 
    filesQueue(file, queue); 
    System.out.print(queue.getFirst()); 
} 

public static ArrayDeque<File> filesQueue(File f, ArrayDeque<File> queue) { 
     if (f.isDirectory()) { 
      for (File file : f.listFiles()) { 
       filesQueue(file, queue); 
      } 
     } else { 
      queue.addLast(f); 
     } 

    return queue; 
} 
+1

的[閱讀文件夾中的所有文件]可能的複製(http://stackoverflow.com/questions/1844688/read-all-files-in-a-folder ) – user2004685

回答

1
File file=new File("<folder-name>"); 
ArrayDeque<File> filesQueue=listFiles(file); 

static ArrayDeque<File> fileList=new ArrayDeque<File>(); 
public ArrayDeque<File> listFiles(File folder) { 

    for (File f : folder.listFiles()) { 
     if (f.isDirectory()) { 
      listFiles(f); 
     } else { 
      fileList.add(f); 
     } 
    } 
return fileList; 
} 
+2

遞歸不會添加到與當前調用相同的'fileList'。 –

0
File folder = new File("src/folder1"); 
+0

雖然此代碼片段可能會解決問題,但[包括解釋](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 - [來自評論](https://stackoverflow.com/review/low-quality-posts/11423454) – Ferrybig

相關問題