Java 在上载到SFTP时保留修改后的文件时间戳

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协议规范文件从未完成和批准,但最新草案

我需要保留修改后的时间戳,我的文件,同时上传到SFTP网站

我正在使用com.enterprisedt.net.ftp.ssh.SSHFTPclient进行传输

如果有什么办法,请告诉我

上传后调用

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协议的早期版本。

您正在明确设置上载后的原始时间戳。这很好。但我问的是显式设置是否有任何方法或参数可以设置客户端,使其与当前连接的所有上载文件的原始时间戳保持一致。我不这么认为。即使它在哪里,它在内部也会这样做。