sftp サーバーにあるディレクトリから最新のファイルを取得しようとしています。私が今それを行う方法は、多かれ少なかれ次のとおりです。
public FileObject getLatestFile(String directory) throws FileSystemException {
FileObject fo = fsManager.resolveFile(this.host+directory, fsOptions);
FileObject latestFile = null;
long max = 0;
fo.getContent().
for (FileObject fob : fo.getChildren()){
if (fob.getContent().getLastModifiedTime() > max) {
max = fob.getContent().getLastModifiedTime();
latestFile = fob;
}
}
return latestFile;
}
このアプローチの問題は、メソッドが呼び出されるたびに、基本的に指定されたディレクトリ内のすべてのファイルをダウンロードしていることです。
これを行うより良い方法はありますか?