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

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

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

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 経由でファイルを取得する基本的な例を示します:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

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 サイトの他の関連記事を参照してください。

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