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

如何在java中通过SFTP传输文件? 我想要SFTP客户端的示例代码。 我想在我的应用程序中嵌入SFTP服务器,客户端应该能够将文件发送到我的应用程序。

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

试试这个代码。

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."); } } 
Interesting Posts