2015-09-23 149 views
-1

我有一個簡單的目錄有兩個文件夾 -在Java中使用SFTP,如何將文件從一個文件夾傳輸到另一個文件夾?

enter image description here

SFTP_1文件夾中,我有一個位圖圖像。而SFTP_2文件夾只是一個空文件夾。

確實的Java有一個本地SFTP庫使用?當我搜索我只找到一個在線稱爲JSch

我怎麼才能開始運行這個例子庫? 任何提示讚賞, 謝謝!

+3

沒有發佈相關的代碼,沒有人可以幫你。 Downvoting。您可以通過查看http://stackoverflow.com/help/how-to-ask以及如何通過閱讀以下內容創建示例來參考如何提出問題:http://stackoverflow.com/help/mcve –

+0

@ WeareBorg - 採取的點。我轉發在這裏 - http://stackoverflow.com/questions/32787456/how-do-i-transfer-a-file-from-one-directory-to-another-using-java-sftp-library-j – Coffee

回答

4

Java中沒有本地SFTP支持。

你已經找到了JSch庫可能是最廣泛使用的SFTP實現爲Java。


如果你想從SFTP_1將文件移動到使用JSch的SFTP_2,使用ChannelSftp.rename method

channelSftp.rename("/SFTP_1/file.txt", "/SFTP_2/file.txt"); 

如果你要複製的文件,它更復雜。雖然有copy-file extension to the SFTP protocol,但只有少數SFTP服務器支持。而且它也不受JSch庫支持。

所以,最後,你唯一的選擇可能是將文件下載到本地的臨時文件夾,並將它上傳到新的位置。或者使用shell會話來調用像cp這樣的命令。另請參見

+0

嗨,你可以看到我的轉貼問題 - http://stackoverflow.com/questions/32787456/how-do-i-transfer-a-file-from-one-directory-to-another-using-java-sftp-library- j – Coffee

+0

這個問題和這個問題有什麼不同? –

1

SFTP支持RenameFile和CopyRemoteFile操作,但如果沒有記錯僅從SFTP協議版本5或6開始。我們的產品SecureBlackbox(Java版)支持這些操作,但需要確保您的服務器支持所需的SFTP版本以及您需要的文件操作。

相關問題