ホームページ > Java > &#&チュートリアル > JSch を使用して Java で SFTP 経由でファイルを取得するにはどうすればよいですか?

JSch を使用して Java で SFTP 経由でファイルを取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-14 12:31:10
オリジナル
356 人が閲覧しました

How Can I Retrieve Files via SFTP in Java Using JSch?

Java で SFTP 経由でファイルを取得する

リモート サーバーからファイルを取得するために FTPS ではなく SFTP を利用する場合、Java 開発者は特有の課題に直面します。 。 1 つのアプローチは、Eclipse、Ant、Apache Commons HttpClient などの信頼できるオープンソース プロジェクトで広く採用されている JSch ライブラリを探索することです。

JSch は、ユーザー名/パスワードと証明書ベースのログインの両方にシームレスに対応し、包括的な SSH2 機能。以下に、JSch を使用して SFTP 経由でファイルを取得する基本的な例を示します:

JSch jsch = new JSch();

String knownHostsFilename = "/home/username/.ssh/known_hosts";
jsch.setKnownHosts( knownHostsFilename );

Session session = jsch.getSession( "remote-username", "remote-host" );    
{
  // "interactive" version
  // can selectively update specified known_hosts file 
  // need to implement UserInfo interface
  // MyUserInfo is a swing implementation provided in 
  //  examples/Sftp.java in the JSch dist
  UserInfo ui = new MyUserInfo();
  session.setUserInfo(ui);

  // OR non-interactive version. Relies in host key being in known-hosts file
  session.setPassword( "remote-password" );
}

session.connect();

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

ChannelSftp sftpChannel = (ChannelSftp) channel;

sftpChannel.get("remote-file", "local-file" );
// OR
InputStream in = sftpChannel.get( "remote-file" );
  // process inputstream as needed

sftpChannel.exit();
session.disconnect();
ログイン後にコピー

以上がJSch を使用して Java で SFTP 経由でファイルを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート