刚才给你查看了一下源码,其实看API就能知道的:
public FTPFile[] listFiles(String pathname)
2272 throws IOException
2273 {
2274 String key = null;
2275 FTPListParseEngine engine =
2276 initiateListParsing(key, pathname);
2277 return engine.getFiles();
2278
2279 }
2319 public FTPFile[] listFiles()
2320 throws IOException
2321 {
2322 return listFiles((String) null);
2323 }
2324
2334 public FTPFile[] listFiles(String pathname, FTPFileFilter filter)
2335 throws IOException
2336 {
2337 FTPListParseEngine engine = initiateListParsing((String) null, pathname);
2338 return engine.getFiles(filter);
2339
2340 }
这是listFiles的了两个方法,第一个是listFiles(Stirng pathName)是根据默认进行排序的。
第二个指定了FTPFileFilter 是一个filter,你只需要实现这个filter在这个filter种按照你自己定义的方式返回什么样的文件。
在listFiles中调用了FTPListParseEngine 的getFiles方法。这个方法中没有表明是按照什么进行排序的。可见是根据名称。
如果要实现按照创建时间排序,取出File之后再重新循环一下就O了
public FTPFile[] getFiles(FTPFileFilter filter)
273 throws IOException
274 {
275 List tmpResults = new ArrayList();
276 Iterator iter = this.entries.iterator();
277 while (iter.hasNext()) {
278 String entry = iter.next();
279 FTPFile temp = this.parser.parseFTPEntry(entry);
280 if (filter.accept(temp)){
281 tmpResults.add(temp);
282 }
283 }
284 return tmpResults.toArray(new FTPFile[tmpResults.size()]);
285
286 }