JSchとjavaを初めて使用しています。私はいくつかのコードを取得し、それをどうにかして理解することができましたが、私は1つのポイントで立ち往生しています。次のコードは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();
}
}
ありがとうに渡したいですその時私のバイトの値は:32755のように,,だから私はなぜ私はこの値を取得しているのか説明します。 – NovusMobile
転送された合計データのサイズは、その与えられた値を累積することによって得ることができます。 – ymnk
リンクはもう動作していないようです – Hiran