Java读取File的问题

05-09-06 anklyang
请教一个问题:

我想要读取某一个路径下,文件最后修改的时间大于我给定的所有的文件.

比如是E:\file

我想要等到一部分的file,即是文件最后修改的时间大于我给定的

我目前的做法是:

查看所有的File,一一比对,得到我想要的File

//read path

Vector needReadFile = new Vector();

Date fileDate = new Date();

File[] files = new File(readFilePath).listFiles();

if (files == null) {

continue;

}

for (int x = 0; x < files.length; x++) {

File tempFile = files[x];

Date fileDate = new Date(tempFile.

lastModified());

if (fileDate.compare(lastModifyDate) == 1 ) {

needReadFile.add(readFilePath + File.separator +

tempFile.getName());

}

} //end for(int i = 0 ; i< files.length ; i++)

虽然这样做是可以达到,当我的File很多的时候,效率很差了

请问高人,有没有别的方法,我不用比对所有的File,就可以做到呢,或别方法来提高效率呢

Thanks!

wildfox
2005-09-06 18:40
用FileFilter

File[] files = new File(readFilePath).listFiles(new FileFilter(){

public boolean accept(File pathname){

//.判断修改日期,符合条件返回true;否则false;

}});

awardsure
2005-09-06 20:08
把Verctor 该成ArrayList 你还在使用Verctor ??

anklyang
2005-09-06 20:22
主要问题不是用了Vector,或ArrayList的问题

anklyang
2005-09-06 20:24
To wild fox :

我还是有点不明白,可否写详细一点呢

还有你能说说他的好处吗?

Thanks~

猜你喜欢
2Go 1 2 下一页