2014-04-25 189 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)); 
} 

如果你意图从特定目录加载。

除此之外,你需要按顺序从每个文件中取消依赖关系,或者读取从其他源文件(数组,另一个文件,任何)加载的文件列表。