java - jscape sftp上传保留文件权限

标签 java upload ftp sftp

我正在使用jscape sftp 传输文件

com.jscape.inet.sftp.Sftp

Sftp sftpSession = null;

// after the required step to connect
// through SshParameters

sftpSession.setDir(remotedirectory);
sftpSession.upload(localFile, remoteFile);

现在,这段代码正在传输文件,那部分OK。但是文件权限在远程机器上发生了变化(变成了 644)。

in local machine:    
-rw-rw-r-- 1 oracle dba  356 Jun 30 03:33 file1.test
-rwxrw-r-x 1 oracle dba  462 Jun 30 03:35 file2.test

in remote machine:
-rw-r--r-- 1 oracle dba  356 Jun 30 03:49 file1.test
-rw-r--r-- 1 oracle dba  462 Jun 30 03:49 file2.test

我看到下面的方法来改变远程文件的权限,

com.jscape.inet.sftp.Sftp.setFilePermissions(java.lang.String remoteFile, int permissions)

我的问题是,

  • com.jscape.inet.sftp.Sftp.upload 方法是否仅以这种方式工作,在不保留权限的情况下上传文件?
  • 有没有办法在不显式使用 setFilePermissions 方法的情况下保留权限?

最佳答案

对于正在上传的目录,远程用户和组是否具有与本地相同的权限? 您可以尝试使用 getPermissions() 方法获取本地权限并将其设置为远程文件。

关于java - jscape sftp上传保留文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31137053/

相关文章:

perl - 为什么 Perl 的 Net::FTP 不上传我的文件?

java - 使用 if-condition 还是 HashMap?

java - 删除 <!-- 和//--> 之间的内容

linux - 如何对正在由另一个进程 FTP 传输的 SCP 文件进行记录并在完成后将其删除?

php - 使用 PHP SDK 在 Amazon S3 上上传文件

c# - 将视频上传到YouTube时出错

FTP获取和删除多个文件

java - 房间库中实体的非列字段如何填写

Java 2D 游戏多态性

javascript - Youtube Data API V3 Javascript