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

标签 java file sftp edi b2b

<分区>

如何在 java 中通过 SFTP 传输文件?我想要 SFTP 客户端的示例代码。 我想在我的应用程序中嵌入 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 - 如何在java中通过SFTP传输文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14830146/

相关文章:

windows - 用于在 Windows 中递归删除具有指定名称的文件夹的命令行工具?

c - Unix: write() when offset is greater than size

batch-file - 如何从批处理文件执行 WinSCP 命令

java - 随机出现javax.net.ssl.SSLException : Unrecognized SSL message,明文连接?

java - id字段以外的自增字段如何实现?

java - 声明数组长度,JAVA

java - 如何用直线填充三角形?

java - 用Java压缩加密文件

java - 如何使用java将文件从sftp复制到亚马逊s3

iphone - 使用SFTP协议(protocol)从iPhone上传文件