ディレクトリ(この場合はC:\ test)をリモートホストに再帰的にコピーする必要があります。 GanymedのSCPClientを使用してディレクトリをコピーするにはどうすればよいですか?
conn.connect();
conn.authenticateWithPassword("user", "pw");
SCPClient scp = conn.createSCPClient();
scp.put("C:/test", "~/test");
conn.close();
が、これはエラーを与える:私は明白なことを試してみました
java.io.IOException: Error during SCP transfer.
at ch.ethz.ssh2.SCPClient.put(SCPClient.java:577)
at ch.ethz.ssh2.SCPClient.put(SCPClient.java:535)
at ch.ethz.ssh2.SCPClient.put(SCPClient.java:430)
at Test.Test.main(Test.java:57)
Caused by: java.io.FileNotFoundException: C:\test (Access is denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at ch.ethz.ssh2.SCPClient.sendFiles(SCPClient.java:190)
at ch.ethz.ssh2.SCPClient.put(SCPClient.java:573)
... 3 more
私は何かが足りない、またはGanymedは本当に唯一の個々のファイルではなくディレクトリをコピーすることができますか?私はちょうどexec()
シェル上の適切なscpコマンドですか?
私は同じ問題を抱えていますが、私は "putDir"関数を理解していますが、 "getDir"についてはどうでしょうか。 scpクライアントを使って、リモートマシン上のディレクトリにあるファイル/ディレクトリのリストを取得する方法はありますか? –