2016-04-23 38 views
-1

所以我有這個程序,我想要獲取執行Java文件的目錄中的當前文件列表。Java listFiles未在其列表中顯示當前正在運行的文件

這裏是呼叫:

File q1 = new File(System.getProperty("user.dir")); 
File[] listOfFiles = sanitiseFileChecker(q1.listFiles()); 

這是sanitiseFileChecker方法:

public void sanitiseFileChecker(File[] list){ 
    List<File> files = new ArrayList<File>(Arrays.asList(list)); 
    for(int i = 0; i < files.size(); i++){ 
     System.out.println(files.get(i).getName()); 
    } 
} 

這工作完全不同的......我的輸出是

Name.class 
FOLDER 
FILEA 
FILEB 
FILEC 

Name.java呢沒有出現...我很困惑,爲什麼它沒有被檢測到,Java可以檢測不到一個文件列表,當一個Java程序正在運行?

+0

我確定是,我有另一個打印輸出以後確認的位置 – Display

+1

你是如何運行這個?當你執行程序時,你爲什麼期望看到源文件? –

回答

-2

這工作就像預期的對我說:

import java.io.*; 

public class ShowFiles { 
    public static void main(String[] args) { 
     File userDir = new File(System.getProperty("user.dir")); 
     File[] files = userDir.listFiles(); 

     System.out.println("Files in " + userDir.getAbsolutePath()); 

     for (File file : files) { 
      System.out.println("\t" + file.getName()); 
     } 
    } 
} 
-2

對不起球員,我的錯,我意識到從列表本身同時除去一個錯誤造成的索引弄混。

相關問題