Java - 使用 JSch 但在 FTP 上尝试移动文件时出现错误 - %RNFR-bad%
Java - Using JSch but getting an error when trying to move a file on FTP - %RNFR-bad%
我正在尝试使用重命名功能并不断收到此错误。
堆栈跟踪:
3: %RNFR-bad%
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873)
at com.jcraft.jsch.ChannelSftp.rename(ChannelSftp.java:1950)
...
这是我用来移动文件的方法
private void moveFile(String sourcePath, String destinationPath) {
try {
System.out.println("Move: " + sourcePath + " to: " + destinationPath);
sftp.rename(sourcePath, destinationPath); //sftp = ChannelSftp
} catch (SftpException e) {
e.printStackTrace();
}
}
这是我的 println 的输出:
Move: /SND/OUTBOUND/TestOutboundFile1.txt to: /SND/OUTBOUND/PROCESSING/TestOutboundFile1.txt
我已经尝试了这里发布的一些其他选项(get then put、多个连接等),但不断出现相同的错误,或者它只是停滞不前(这是在 get then put 方法中发生的)。我在网上看到的所有内容都说这应该和我的方法一样简单,但我似乎无法让它发挥作用。找不到任何有用的“RNFR-bad”错误。
目标目录已存在且为空。我错过了什么?非常感谢任何帮助。
编辑:这最终是一个权限问题,在管理员授予我的帐户正确的权限后,上面发布的代码工作得很好。我能够创建和删除文件和目录,但在修改帐户权限之前无法重命名文件。
3: %RNFR-bad%
SFTP error code 3 表示“权限被拒绝”。这意味着您遇到错误,因为您在远程系统上没有执行您尝试执行的文件移动操作的权限。
"%RNFR-bad%"好像没什么意思。我的猜测是远程 SFTP 服务器正在使用 localized messages 并且它没有针对这种情况的正确消息,或者它在其他方面出现故障。
我正在尝试使用重命名功能并不断收到此错误。 堆栈跟踪:
3: %RNFR-bad%
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873)
at com.jcraft.jsch.ChannelSftp.rename(ChannelSftp.java:1950)
...
这是我用来移动文件的方法
private void moveFile(String sourcePath, String destinationPath) {
try {
System.out.println("Move: " + sourcePath + " to: " + destinationPath);
sftp.rename(sourcePath, destinationPath); //sftp = ChannelSftp
} catch (SftpException e) {
e.printStackTrace();
}
}
这是我的 println 的输出:
Move: /SND/OUTBOUND/TestOutboundFile1.txt to: /SND/OUTBOUND/PROCESSING/TestOutboundFile1.txt
我已经尝试了这里发布的一些其他选项(get then put、多个连接等),但不断出现相同的错误,或者它只是停滞不前(这是在 get then put 方法中发生的)。我在网上看到的所有内容都说这应该和我的方法一样简单,但我似乎无法让它发挥作用。找不到任何有用的“RNFR-bad”错误。
目标目录已存在且为空。我错过了什么?非常感谢任何帮助。
编辑:这最终是一个权限问题,在管理员授予我的帐户正确的权限后,上面发布的代码工作得很好。我能够创建和删除文件和目录,但在修改帐户权限之前无法重命名文件。
3: %RNFR-bad%
SFTP error code 3 表示“权限被拒绝”。这意味着您遇到错误,因为您在远程系统上没有执行您尝试执行的文件移动操作的权限。
"%RNFR-bad%"好像没什么意思。我的猜测是远程 SFTP 服务器正在使用 localized messages 并且它没有针对这种情况的正确消息,或者它在其他方面出现故障。