0

リモート Linux サーバーにあるファイルを読み込もうとしています。しかし、Javaを使用してファイルの入力ストリームを取得する方法がわかりません。

これはどのように行うことができますか?

4

5 に答える 5

2

「リモート Linux サーバー」が「リモート Linux シェル」を意味すると仮定すると、JSchのような ssh ライブラリを使用する必要があります。ファイルのダウンロード例は、こちら にあります

于 2012-09-11T09:19:21.187 に答える
0

他の回答で述べたように、任意のssh java libを使用するか、NFS共有フォルダーとしてファイルを使用してディレクトリをマウントできます。マウント後、通常のJavaAPIを使用してファイルにアクセスできます。

于 2012-09-11T10:47:51.557 に答える
0

ファイルがどのように利用可能かによって異なります。HTTP、FTP、SFTP、または自分で作成したサーバー経由ですか?

HTTP 経由でファイルを取得する場合は、次を使用できます。

HttpURLConnection connec = (HttpURLConnection)new URL("http://host/file").openConnection();
if(connec.getResponseCode() != connec.HTTP_OK)
{
    System.err.println("Not OK");
    return;
}
System.out.println("length = " + connec.getContentLength());
System.out.println("Type = " + connec.getContentType());
InputStream in = connec.getInputStream();
//Now you can read the file content with in

SFTP / SCPに非常に適したJschライブラリもあります

于 2012-09-11T09:34:30.413 に答える
0

サーバーへの有効な接続とファイルへのアクセスがあると仮定すると、ファイルFileの URI を使用してオブジェクトを作成できます。

File f = new File(uri);
FileInputStream fis = new FileInputStream(f);

URI はファイルへの URI である必要があります (例: "file://server/path/to/file")。File(URI) の Javadocも参照してください。

于 2012-09-11T09:13:27.293 に答える
0

多分SSHJがあなたを助けることができますか?https://github.com/shikhar/sshj

ライブラリの機能は次のとおりです。

  • ホスト キー検証のための known_hosts ファイルの読み取り
  • 公開鍵、パスワード、およびキーボード インタラクティブ認証
  • コマンド、サブシステム、およびシェル チャネル
  • ローカルおよびリモートのポート転送
  • scp + 完全な sftp バージョン 0-3 の実装
于 2012-09-11T09:19:44.150 に答える