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

标签 java sftp

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

示例:

  • 远程位置一: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/

相关文章:

c++ - 在 sftp 期间检查文件状态

ruby 抽象

java - 如何在使用 JSch SFTP 库时解析 Java UnknownHostKey?

java - 是什么导致我的迷宫求解器出现 stackoverflowerror?

java - NLTK 找不到 Java 可执行文件

java - 仅当未在构造函数中设置时才 Autowiring 变量

bash - 在bash中输入多行重定向后如何重定向输出?

java - 使用 Jackson 将 JSON 反序列化为包含集合的 Java 对象

java - eclipse RCP : check if a job has finished

python-2.7 - 如何在 Python 中将文件从本地机器传输到 EC 实例?