将com.jcraft.jsch.ChannelSftp.get(String src,String dst)覆盖现有文件吗?

时间:2015-11-23 07:05:19

标签: java sftp

您好我需要从两个不同的位置下载一组文件,这些位置与本地计算机具有相同的名称。

示例:

  • 远程位置一:user / temp1 / sample.txt
  • 远程位置二:user1 / temp2 / sample.txt
  • 本地计算机路径:user3 / temp3 /

我正在使用java和com.jcraft.jsch.ChannelSftp.get(String src,String dst)方法来执行此任务。我的疑问是,当我执行第一个操作时,将一个sample.txt文件的位置下载到我的本地文件夹,然后执行第二个操作,即将位置两个文件下载到我的同一个本地文件夹。第一个下载的文件是否会附加第二个远程sample.txt文件数据,或者它是否会被新文件替换,还是会创建一个名为sample(1).txt的新文件?

1 个答案:

答案 0 :(得分:2)

如果您选中javadoc,您会看到get(src, dest)方法的默认模式为OVERWRITE,因此默认情况下您的第一个文件将被第二个文件覆盖文件。不同模式的含义是:

  • OVERWRITE - 覆盖现有文件(如果有)。

  • RESUME - 恢复中断的上传/下载。这仅传输源文件中超出现有目标文件长度的部分。

  • APPEND - 文件传输模式:附加到现有文件(如果有)。