11
我是JSch和java的新手。我設法得到一些代碼,並以某種方式理解它,但我堅持一點。以下代碼從SSH服務器下載文件,但我需要顯示覆制文件百分比的進度表。我該怎麼做。我將非常感謝您的幫助。JSch sftp上傳/下載進度
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpProgressMonitor;
public class SFTPExample {
public static void main(String args[]) throws Exception {
String user = "root";
String password = "password";
String host = "192.168.0.5";
int port = 22;
String knownHostsFilename = "/home/world/.ssh/known_hosts";
String sourcePath = "/media/nfs/genotype.txt";
String destPath = "genotype.txt";
JSch jsch = new JSch();
jsch.setKnownHosts(knownHostsFilename);
Session session = jsch.getSession(user, host, port);
session.setPassword(password);
session.connect();
ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
sftpChannel.connect();
System.out.println("Downloading test file");
sftpChannel.get(sourcePath, destPath);
sftpChannel.exit();
session.disconnect();
}
}
感謝名單FO答案.. 如果我下載的文件當時是100MB,我的字節值是:32755 like ,,。那麼你會解釋爲什麼我得到這個值。 – NovusMobile
你可以通過累積給定值來獲得總傳輸數據的大小。 – ymnk
該鏈接似乎沒有工作更多 – Hiran