2016-02-26 88 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

相关问题