gpt4 book ai didi

java - Apache VFS SFTP moveTo 命令失败

转载 作者:行者123 更新时间:2023-11-30 11:22:14 24 4
gpt4 key购买 nike

我正在使用 Apache vfs sftp 将文件复制到远程 linux box,然后重命名它。复制工作正常,但是当我尝试重命名文件时,它失败了。我正在使用 vfs 2.0 和 jsch 0.1.50

Source(remoteFileTmp)       : /tmp/abc.txt
Destination(remoteFileDest) : /home/myName/work/abc.txt

我使用的命令如下:

remoteFileTmp.moveTo(remoteFileDest);

我得到的异常如下:

Exception in thread "main" java.lang.RuntimeException: org.apache.commons.vfs2.FileSystemException: Could not rename "sftp://hostname/tmp/abc.txt" to "sftp://hostname/home/myName/work/abc.txt".
at com.transfer.SFTPTransfer.uploadRename(SFTPTransfer.java:85)
at com.transfer.MainClass.main(MainClass.java:23)
Caused by: org.apache.commons.vfs2.FileSystemException: Could not rename "sftp://hostname/tmp/abc.txt" to "sftp://hostname/tmp/abc.txt" to "sftp://hostname/home/myName/work/abc.txt".
at org.apache.commons.vfs2.provider.AbstractFileObject.moveTo(AbstractFileObject.java:1116)
at com.transfer.SFTPTransfer.uploadRename(SFTPTransfer.java:59)
... 1 more
Caused by: 4: Failure
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2833)
at com.jcraft.jsch.ChannelSftp.rename(ChannelSftp.java:1910)
at org.apache.commons.vfs2.provider.sftp.SftpFileObject.doRename(SftpFileObject.java:289)
at org.apache.commons.vfs2.provider.AbstractFileObject.moveTo(AbstractFileObject.java:1102)
... 2 more

目录/home/myName/work 存在。

注意:当我尝试移动(重命名)同一文件夹中的文件时,它工作正常。即对于以下输入,重命名是成功的。

source = /tmp/abc.txt
destination = /tmp/abc.txt_renamed

那么是不是只支持同目录重命名呢?

最佳答案

这是通过 SFTP 执行 moveTo 时 Apache VFS 库中的一个未解决问题引起的:-(

https://issues.apache.org/jira/browse/VFS-590

还有这个

https://issues.apache.org/jira/browse/VFS-589

关于java - Apache VFS SFTP moveTo 命令失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21821819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com