如何使用JCIFS移动(不复制)文件?

pet*_*oak 3 smb jcifs

我想知道如何使用JCIFS将文件从SMB共享中的一个文件夹移动到另一个文件夹.

首先,没有任何move()方法.

然后,这种方法:

SmbFile smbFromFile = new SmbFile("smb://...pool/from-here/the-file.pdf", auth);
SmbFile smbToFile = new SmbFile("smb://...pool/to-here/the-file.pdf", auth);
smbFromFile.renameTo(smbToFile);
Run Code Online (Sandbox Code Playgroud)

抛出异常, "The system cannot find the path specified."

重命名仅适用于同一路径.改变参数没有帮助.

现在,我正在使用

smbFromFile = new SmbFile("smb://...pool/from-here/the-file.pdf", auth);
smbToFile = new SmbFile("smb://...pool/to-here", auth);
smbFromFile.copyTo(smbToFile);
smbFromFile.delete();
Run Code Online (Sandbox Code Playgroud)

这感觉有些不对劲.

不幸的是,在文档中我没有找到任何关于移动文件的信息.

有人有更多的信息吗?它应该是SMB的一部分,对(SMB_COM_MOVE)?

pet*_*oak 6

原来我是一个布偶,因为我搞砸了我的配置参数.

两种方式都很好:

方法1:

SmbFile smbFromFile = new SmbFile("smb://...pool/from-here/the-file.pdf", auth);
SmbFile smbToFile = new SmbFile("smb://...pool/to-here/the-file.pdf", auth);
smbFromFile.renameTo(smbToFile); 
Run Code Online (Sandbox Code Playgroud)

方法2:

smbFromFile = new SmbFile("smb://...pool/from-here/the-file.pdf", auth);
smbToFile = new SmbFile("smb://...pool/to-here/the-file.pdf", auth);
smbFromFile.copyTo(smbToFile);
smbFromFile.delete();
Run Code Online (Sandbox Code Playgroud)