嗨我有一個場景,我需要從兩個不同的位置下載一組文件,這些文件與我的本地計算機具有相同的名稱。將com.jcraft.jsch.ChannelSftp.get(String src,String dst)覆蓋現有文件?
實施例:
- 遠程位置之一:用戶/ temp1目錄/ sample.txt的
- 遠程位置處的兩個:USER1/TEMP2/sample.txt的
- 本地機器路徑:用戶3/TEMP3/
我正在使用java和com.jcraft.jsch.ChannelSftp.get(String src,String dst)方法來執行此任務。我的疑問是,當我執行第一個動作時,將位置一個sample.txt文件下載到我的本地文件夾,並執行第二個動作,即將位置兩個文件下載到同一個本地文件夾。第一個下載的文件會被附加第二個遠程sample.txt文件數據,還是將其替換爲新文件,或者是否會創建一個名稱爲sample(1).txt的新文件?
感謝您的答覆和javaDoc鏈接Gergely Basco。我無法找到將模式更改爲APPEND的方法,我的意思是我沒有找到像setMode(APPEND)或setMode(2)或get(src,dst,APPEND)那樣更改模式的方法?你可以按照正確的方法來路由 –
你只需要使用正確的'get'方法來實現這一點。例如: 'get(src,dst,null,2);'// progressmonitor設置爲null,你不需要這個&mode = 2意味着追加 –
它是'.put(src,dst,SftpChannel.APPEND) '[put(String src,String dst,int mode)'](http://epaul.github.io/jsch-documentation/javadoc/com/jcraft/jsch/ChannelSftp.html#put%28java.io。 InputStream,%20java.lang.String,%20int%29)過載。 –