[英]fetching files from SFTP
我想從SFTP提取文件,這些文件是在Java中給定的時間戳記(上次提取時間)后創建的。 截至目前,我正在使用j2ssh。 請讓我知道其他一些API是否支持該功能。
Jsch支持ls命令,它將帶回遠程文件的所有屬性。 您可以編寫一些代碼來消除要從那里檢索的文件。
Java文件: http : //epaul.github.io/jsch-documentation/javadoc/
此示例比較遠程文件時間戳以找到最舊的文件,對其進行修改以比較您的上次運行日期與遠程文件日期並花費很多精力,然后作為循環的一部分進行下載。
try {
list = Main.chanSftp.ls("*.xml");
if (list.isEmpty()) {
fileFound = false;
}
else {
lsEntry = (ChannelSftp.LsEntry) list.firstElement();
oldestFile = lsEntry.getFilename();
attrs = lsEntry.getAttrs();
currentOldestTime = attrs.getMTime();
for (Object sftpFile : list) {
lsEntry = (ChannelSftp.LsEntry) sftpFile;
nextName = lsEntry.getFilename();
attrs = lsEntry.getAttrs();
nextTime = attrs.getMTime();
if (nextTime < currentOldestTime) {
oldestFile = nextName;
currentOldestTime = nextTime;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.