Java 在上载到SFTP时保留修改后的文件时间戳
我需要保留修改后的时间戳,我的文件,同时上传到SFTP网站 我正在使用com.enterprisedt.net.ftp.ssh.SSHFTPclient进行传输 如果有什么办法,请告诉我 上传后调用Java 在上载到SFTP时保留修改后的文件时间戳,java,sftp,edtftpj,Java,Sftp,Edtftpj,我需要保留修改后的时间戳,我的文件,同时上传到SFTP网站 我正在使用com.enterprisedt.net.ftp.ssh.SSHFTPclient进行传输 如果有什么办法,请告诉我 上传后调用 sshFtpClient.setModTime(remotePath, new Date(new File(localPath).lastModified()); 如果有什么办法,请告诉我 传输文件时无法保留时间戳。SFTP协议不允许这样做 SFTP wire协议规范文件从未完成和批准,但最新草案
sshFtpClient.setModTime(remotePath, new Date(new File(localPath).lastModified());
如果有什么办法,请告诉我
传输文件时无法保留时间戳。SFTP协议不允许这样做
SFTP wire协议规范文件从未完成和批准,但最新草案(协议第6版)是
如果查看第8.1节和第8.2节,您将看到客户端请求打开文件(SSH\u FXP\u OPEN
)和写入文件(SSH\u FXP\u WRITE
)不会将任何时间戳信息从客户端传递到服务器。由于请求不传递时间戳,因此无法在传输中保留时间戳
如果要“保留”时间戳,协议文档说明客户端需要发送SSH_FXP_SETSTAT
或SSH_FXP_FSETSTAT
请求来更新相关文件属性
具有使用SSHFTPClient
库执行此操作的代码
我没有检查,但我相信这也适用于SFTP协议的早期版本。您正在明确设置上载后的原始时间戳。这很好。但我问的是显式设置是否有任何方法或参数可以设置客户端,使其与当前连接的所有上载文件的原始时间戳保持一致。我不这么认为。即使它在哪里,它在内部也会这样做。