sftp プロトコルを使用してファイルをダウンロードする sftp プログラムを試し、次のコードを使用しました。このコードの助けを借りて、SSH ftp を使用してファイルをダウンロードしようとしました。
必要な jscape jar ファイルをダウンロードし、ビルド パスに追加しました。正しく動作します。私が実行したら、私は得ましたruntime >errors
import com.jscape.inet.sftp.Sftp;
import com.jscape.inet.sftp.SftpException;
import com.jscape.inet.sftp.events.SftpAdapter;
import com.jscape.inet.sftp.events.SftpDownloadEvent;
import com.jscape.inet.sftp.events.SftpConnectedEvent;
import com.jscape.inet.sftp.events.SftpDisconnectedEvent;
import com.jscape.inet.ssh.util.SshParameters;
public class sftpDownload extends SftpAdapter {
// perform multiple file download
public void doDownload(String sftpHostname, String sftpUsername, String sftpPassword, String filter)
throws SftpException
{
// create/initialize an Sftp instance
SshParameters params = new SshParameters(sftpHostname, sftpUsername, sftpPassword);
Sftp ftp = new Sftp(params);
//capture FTP related events when applicable (if your class extends SftpAdapter or implements FtpListener)
ftp.addSftpListener(this);
// establish connection
if(ftp.isConnected())
{
System.out.println("Connected");
ftp.disconnect();
//ftp.getFilePermissions(null);
}
else
{
ftp.connect();
}
// ftp.connect();
// download files matching filter
ftp.mdownload(filter);
// disconnect
ftp.disconnect();
}
// captures download event
public void download(SftpDownloadEvent evt) {
System.out.println("Downloaded file: " + evt.getFilename());
}
// captures connect event
public void connected(SftpConnectedEvent evt) {
System.out.println("Connected to server: " + evt.getHostname());
}
// captures disconnect event
public void disconnected(SftpDisconnectedEvent evt) {
System.out.println("Disconnected from server: " + evt.getHostname());
}
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter SFTP hostname : ");
String sftpHostname = reader.readLine().trim();
System.out.print("Enter SFTP username : ");
String sftpUsername = reader.readLine().trim();
System.out.print("Enter SFTP password : ");
String sftpPassword = reader.readLine().trim();
System.out.print("Enter download filter (eg .*\\.csv): ");
String filter = reader.readLine().trim();
sftpDownload load=new sftpDownload();
// do download
load.doDownload(sftpHostname, sftpUsername, sftpPassword, filter);
}
catch(Exception e) {
e.printStackTrace();
// e.getMessage();
}
}
}
ホスト名、ユーザー名、パスワード、フィルターを指定すると、
com.jscape.inet.sftp.SftpException
at com.jscape.inet.sftp.SftpConfiguration.createClient(Unknown Source)
at com.jscape.inet.sftp.Sftp.connect(Unknown Source)
at com.jscape.inet.sftp.Sftp.connect(Unknown Source)
and
Caused by: java.io.IOException '
上記の sftp コードの作業を手伝ってください。よろしくお願いします
次の情報は私の入力ページです。ここでは、ホスト名とその他の情報 > ダウンロードするファイルの種類などを渡します。SFTP タイプ コード ファイアウォール設定を変更する必要があることを明確にしてください。あれば手順を教えて...
Enter SFTP hostname : *.*.*.*
Enter SFTP username : *******
Enter SFTP password : password
Enter download filter (eg .*\.csv): *\.csv
com.jscape.inet.sftp.SftpException
at com.jscape.inet.sftp.SftpConfiguration.createClient(Unknown Source)
at com.jscape.inet.sftp.Sftp.connect(Unknown Source)
at com.jscape.inet.sftp.Sftp.connect(Unknown Source)
at com.test.file.sftpDownload.doDownload(sftpDownload.java:36)
at com.test.file.sftpDownload.main(sftpDownload.java:78)
Caused by: java.io.IOException
at com.jscape.inet.util.n.a(Unknown Source)
at com.jscape.inet.util.n.a(Unknown Source)
at com.jscape.inet.util.n.a(Unknown Source)
at com.jscape.inet.util.ConnectionParameters.createPlainSocket(Unknown Source)
at com.jscape.inet.util.ConnectionParameters.createSocket(Unknown Source)
at com.jscape.inet.ssh.transport.TransportClient.<init>(Unknown Source)
at com.jscape.inet.ssh.SshConfiguration.createConnectionClient(Unknown Source)
at com.jscape.inet.ssh.SshStandaloneConnector.openConnection(Unknown Source)
... 5 more