您好,我有一个场景,我需要从两个不同的位置下载一组与我的本地计算机同名的文件。
示例:
- 远程位置一:user/temp1/sample.txt
- 远程位置二:user1/temp2/sample.txt
- 本地计算机路径:user3/temp3/
我正在使用 java 和 com.jcraft.jsch.ChannelSftp.get(String src,String dst) 方法来执行此任务。我的疑问是,当我执行第一个操作(将位置一个 example.txt 文件下载到我的本地文件夹)时,以及在执行第二个操作(将位置两个文件下载到我的同一个本地文件夹)时。第一个下载的文件是否会附加第二个远程sample.txt 文件数据,或者是否会被新文件替换,或者是否会创建一个名为sample(1).txt 的新文件?
最佳答案
如果您检查javadoc ,您将看到对于 get(src, dest)
方法,默认模式是 OVERWRITE
,因此默认情况下您的第一个文件将被第二个文件覆盖。不同模式的含义是:
OVERWRITE
- 覆盖现有文件(如果有)。RESUME
- 恢复中断的上传/下载。这仅传输源文件中超出现有目标文件长度的部分。APPEND
- 文件传输模式:附加到现有文件(如果有)。
关于java - com.jcraft.jsch.ChannelSftp.get(String src,String dst) 会覆盖现有文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33865368/