Enter your keyword

post

Reading file from remote server using SFTP connection

Below is the program that shows how to read file from SFTP server using java

JSch API is widely used for connecting a SFTP using Java.

Download JScp library from here

Below is the program to read file from SFTP using JSch library.

package com.test.ankur;

import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.SftpException;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class TestJSch {
public static void main(String args[]) throws IOException {
JSch jsch = new JSch();
Session session = null;
try {
session = jsch.getSession("user", "127.0.0.1", 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("password");
session.connect();

Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;

InputStream stream = sftpChannel.get("/usr/home/testfile.txt");
try {
BufferedReader br = new BufferedReader(new InputStreamReader(stream));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}

} catch (IOException io) {
System.out.println("Exception occurred during reading file from SFTP server due to " + io.getMessage());
io.getMessage();

} catch (Exception e) {
System.out.println("Exception occurred during reading file from SFTP server due to " + e.getMessage());
e.getMessage();

}

sftpChannel.exit();
session.disconnect();
} catch (JSchException e) {
e.printStackTrace();
} catch (SftpException e) {
e.printStackTrace();
}
}
}

Some Toughts (4)

  1. added on 19 Jan, 2018
    Reply

    Good blog post. i really like it.secure sftp hosting service

  2. added on 4 Apr, 2019
    Reply

    Hi, few days back i was able to connect to the server now i am getting following exception. please help me.

    com.jcraft.jsch.JSchException: Auth fail
    at com.jcraft.jsch.Session.connect(Session.java:452)
    at com.jcraft.jsch.Session.connect(Session.java:150)
    at DownloadFileFromSftp.main(DownloadFileFromSftp.java:34)

  3. added on 16 Apr, 2019
    Reply

    Hi Abhinandan,
    Looks like the SFTP credentials have been modified.
    Regards,
    Ankur

  4. added on 18 Jul, 2019
    Reply

    Thankyou for sharingerp software

Leave a Reply

Your email address will not be published.