java,实现根据创建时间查询FTP服务器目录下文件,得到创建时间大于某时间点文件并下载?

java,这是查询模块,其中while循环这块没有看懂,为什么要循环,得到最新路径后怎么下载时间大于searchDate的所有文件?
nearestDir = dir + findLine.substring(date_index + 13, findLine.length()) + "/"; 这句是为啥?
有木有人可以解释下这段代码TAT
public String findNewestDIR(String dir,String searchDate){ //dir为FTP服务器所要查询文件所在目录
String nearestDir = null;
ftpClient.cd(dir);
TelnetInputStream as=ftpClient.list();
InputStreamReader asr=new InputStreamReader(as);
BufferedReader br=new BufferedReader(asr);

String line;
String date;
int date_index=42;
while((line=br.readLine())!= null) {
System.out.println(line);
if (line.length() >= FTPTest.VALID_LINE_LEN) {
date = line.substring(date_index, date_index + 12);
System.out.println(date);
if (date.startsWith(searchDate)) {
if (date.compareTo(nearestDate) > 0) {
countall= countall+1 ;
nearestDate = date;
findLine = line;
} } } }
nearestDir = dir + findLine.substring(date_index + 13, findLine.length()) + "/";
//生成最新路径
br.close();
asr.close();
as.close();
return nearestDir;
//返回最新文件路径
}

http://www.iteye.com/problems/76039