2014-04-25 248 views
0

我的Java代碼列出文件系統的目錄下的所有代碼文件,以及一個加載每個文件之一:列表排序,以特定的順序

File[] files = mDir.listFiles(); 
for(File f: files) { 
    System.out.println(f.getPath()); 
    //load code file 
    System.load(f); 
} 

上面的代碼邏輯上看起來不錯,但不適合我的情況。

我的情況是,我可以不是一個接一個地加載它們,因爲這些代碼文件之間存在依賴關係。我需要根據依賴關係以特定順序加載文件。

說,我已經知道有目錄mDir下,下面的文件應該是負載順序如下:

["dFile", "xFile", "aFile", "hFile"]

,我已經得到了目錄實例mDir

如何在java中有效地使用上述順序加載文件?

+0

排序的邏輯是什麼?你如何確定依賴關係? – A4L

回答

0

如果你已經知道你感興趣的文件,然後按照正確的順序加載它們。

如果您必須先查看哪些文件可用,然後按特定順序加載它們,請使用一個循環來獲取現有文件的名稱,然後按照正確的順序選擇正確的文件來處理列表。

+0

嗨,是的,我有和你的文字一樣的心態,但是如何在java代碼中以正確的順序選擇正確的文件?我不想有多行代碼都在做System.load(xxx),我正在尋找一種方法來按照正確的順序對文件進行排序,然後通過for循環加載它們(如果可能的話)。或者比通過文件編寫System.load(xxx)文件更優雅/高效的方式 – user842225

0

我建議只是正確設置工作目錄(見Changing the current working directory in Java?),然後做

for(String fname : fileArray) { 
    System.load(new File(fname)); 
} 

(其中fileArray是文件名的列表)或

for(String fname : fileArray) { 
    System.load(new File(mDir.getPath() + fname)); 
} 

如果你意圖從特定目錄加載。

除此之外,你需要按順序從每個文件中取消依賴關係,或者讀取從其他源文件(數組,另一個文件,任何)加載的文件列表。