如何在Java中通过SFTP传输文件?

PS:这是要求SFTP客户端。这个问题不是其他两个问题的重复。

找到以下链接以实现SFTP。

https://codetransient.wordpress.com/2019/06/22/sftp-secured-file-transfer-

protocol/

回答:

试试这个代码。

public void send (String fileName) {

String SFTPHOST = "host:IP";

int SFTPPORT = 22;

String SFTPUSER = "username";

String SFTPPASS = "password";

String SFTPWORKINGDIR = "file/to/transfer";

Session session = null;

Channel channel = null;

ChannelSftp channelSftp = null;

System.out.println("preparing the host information for sftp.");

try {

JSch jsch = new JSch();

session = jsch.getSession(SFTPUSER, SFTPHOST, SFTPPORT);

session.setPassword(SFTPPASS);

java.util.Properties config = new java.util.Properties();

config.put("StrictHostKeyChecking", "no");

session.setConfig(config);

session.connect();

System.out.println("Host connected.");

channel = session.openChannel("sftp");

channel.connect();

System.out.println("sftp channel opened and connected.");

channelSftp = (ChannelSftp) channel;

channelSftp.cd(SFTPWORKINGDIR);

File f = new File(fileName);

channelSftp.put(new FileInputStream(f), f.getName());

log.info("File transfered successfully to host.");

} catch (Exception ex) {

System.out.println("Exception found while tranfer the response.");

} finally {

channelSftp.exit();

System.out.println("sftp Channel exited.");

channel.disconnect();

System.out.println("Channel disconnected.");

session.disconnect();

System.out.println("Host Session disconnected.");

}

}

以上是 如何在Java中通过SFTP传输文件? 的全部内容, 来源链接: utcz.com/qa/407182.html

回到顶部