Java Apache VFS SFTP moveTo命令失败
我正在使用apachevfs sftp将文件复制到远程linux-box,然后重命名它。 复制工作正常,但当我尝试重命名文件时,它失败了。 我使用的是VFS2.0和JSCH0.1.50Java Apache VFS SFTP moveTo命令失败,java,apache,sftp,jsch,vfs,Java,Apache,Sftp,Jsch,Vfs,我正在使用apachevfs sftp将文件复制到远程linux-box,然后重命名它。 复制工作正常,但当我尝试重命名文件时,它失败了。 我使用的是VFS2.0和JSCH0.1.50 Source(remoteFileTmp) : /tmp/abc.txt Destination(remoteFileDest) : /home/myName/work/abc.txt 我使用的命令如下: remoteFileTmp.moveTo(remoteFileDest); 我得到的例外情况
Source(remoteFileTmp) : /tmp/abc.txt
Destination(remoteFileDest) : /home/myName/work/abc.txt
我使用的命令如下:
remoteFileTmp.moveTo(remoteFileDest);
我得到的例外情况如下:
remoteFileTmp.moveTo(remoteFileDest);
线程“main”java.lang.RuntimeException:org.apache.commons.vfs2.FileSystemException:无法重命名sftp://hostname/tmp/abc.txt“到”sftp://hostname/home/myName/work/abc.txt".
上传重命名(SFTPTransfer.java:85)
位于com.transfer.MainClass.main(MainClass.java:23)
原因:org.apache.commons.vfs2.FileSystemException:无法重命名“sftp://hostname/tmp/abc.txt“到”sftp://hostname/tmp/abc.txt“到”sftp://hostname/home/myName/work/abc.txt".
位于org.apache.commons.vfs2.provider.AbstractFileObject.moveTo(AbstractFileObject.java:1116)
上传重命名(SFTPTransfer.java:59)
... 还有一个
原因:4:故障
位于com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2833)
位于com.jcraft.jsch.ChannelSftp.rename(ChannelSftp.java:1910)
位于org.apache.commons.vfs2.provider.sftp.SftpFileObject.doRename(SftpFileObject.java:289)
位于org.apache.commons.vfs2.provider.AbstractFileObject.moveTo(AbstractFileObject.java:1102)
... 还有两个
存在目录/home/myName/work
注意:当我尝试移动(重命名)同一文件夹中的文件时,效果很好。
i、 e对于以下输入重命名成功
source = /tmp/abc.txt
destination = /tmp/abc.txt_renamed
那么,它是否只支持在同一目录中重命名?这是由于在SFTP上执行moveTo时Apache VFS库中的一个开放问题造成的:-( 还有这个
更正粘贴错误的第4行。错误原因------org.apache.commons.vfs2.FileSystemException:无法重命名“sftp://hostname/tmp/abc.txt“到”sftp://hostname/home/myName/work/abc.txt"。是否尝试将其重命名为同一文件夹的任何其他子目录或同一文件系统中的任何其他文件夹?是的,当我使用同一文件夹的子目录时,重命名工作正常。我没有尝试任何其他操作,因为我们决定在同一文件夹中使用子目录。