Java を使用して SFTP サーバーからファイルを取得するにはどうすればよいですか?
Dec 03, 2024 pm 05:48 PMJava での SFTP 経由のファイルの取得
Secure File Transfer Protocol (SFTP) は、安全なファイル転送プロトコルです。 SSH接続。これは、標準の TCP 接続で TLS/SSL を利用する FTPS などの他のプロトコルとは対照的です。
Java を使用して SFTP 経由でサーバーからファイルを取得するには、JSch ライブラリを利用できます。 JSch は、その堅牢な機能とユーザーフレンドリーなインターフェイスにより、Eclipse、Ant、Apache Commons HttpClient などのプロジェクトで広く使用されています。
JSch は、ユーザー/パスおよび証明書ベースのログインをサポートし、多くの SSH2 機能を提供します。 SFTP 経由でリモート ファイルを取得するために使用できる基本的なコード例を次に示します。
import com.jcraft.jsch.*; public class SftpFileRetriever { public static void main(String[] args) throws JSchException { JSch jsch = new JSch(); String knownHostsFilename = "/home/username/.ssh/known_hosts"; jsch.setKnownHosts(knownHostsFilename); Session session = jsch.getSession("remote-username", "remote-host"); { // Interactive version // This version allows you to selectively update specified known_hosts file. // You'll need to implement the UserInfo interface, and MyUserInfo is a swing implementation provided in JSch's Sftp.java example. UserInfo ui = new MyUserInfo(); session.setUserInfo(ui); // Non-interactive version // This version relies on the host key being in the 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"); sftpChannel.exit(); session.disconnect(); } }
このコードは、SSH セッションを確立し、既知のホストをセットアップし、チャネルに接続します。次に、リモート ファイルを取得し、セッションを切断します。エラー処理とユーザー インタラクションの具体的な詳細は、完了するための演習として残されています。
以上がJava を使用して SFTP サーバーからファイルを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?
