Comment transférer un fichier via SFTP en Java?

Comment transférer un fichier via SFTP en Java? Je veux un exemple de code pour le client SFTP. Je souhaite intégrer le serveur SFTP dans mon application et le client doit pouvoir envoyer un fichier à mon application.

PS: Cela a été demandé pour le client SFTP. Et cette question ne fait pas double emploi avec deux autres questions.

Essayez ce code.

public void send (Ssortingng fileName) { Ssortingng SFTPHOST = "host:IP"; int SFTPPORT = 22; Ssortingng SFTPUSER = "username"; Ssortingng SFTPPASS = "password"; Ssortingng 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("SsortingctHostKeyChecking", "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."); } }