我创建了一个 XML 和一个 ZIP 文件,并通过 SFTP 将它们上传到服务器。文件夹结构如下所示:
/
|
|--/incoming
|
|--/<hash>
|
|-- file.xml
|-- file.zip
该文件夹<hash>
是在我上传 XML 和 ZIP 时创建的,我需要此文件夹才能拥有权限777
。
据我所知,我无法通过 Java 中的 VFS 更改已创建文件夹的权限。我当时尝试的是在本地创建该文件夹,777
将其与 XML 和 ZIP 一起上传。
我的代码如下所示:
File fUploadDir = new File(uploadDir);
fUploadDir.mkdir();
fUploadDir.setReadable(true, false);
fUploadDir.setWritable(true, false);
fUploadDir.setExecutable(true, false);
// Create and add ZIP and XML files...
// ...
StandardFileSystemManager manager = new StandardFileSystemManager();
// Initializes the file manager
manager.init();
File file = new File(pathToFolder);
// Setup our SFTP configuration
FileSystemOptions opts = new FileSystemOptions();
SftpFileSystemConfigBuilder.getInstance().setStrictHostKeyChecking(opts, "no");
SftpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, true);
SftpFileSystemConfigBuilder.getInstance().setTimeout(opts, 10000);
String sftpUri = "sftp://" + userId + ":" + password + "@" + serverAddress + "/" + remoteDirectory;
// Create local file object
FileObject localFile = manager.resolveFile(fUploadDir.getAbsolutePath());
// Create remote file object
FileObject remoteFile = manager.resolveFile(sftpUri, opts);
// Copy local file to sftp server
remoteFile.copyFrom(localFile, Selectors.SELECT_SELF_AND_CHILDREN);
当我执行此代码时,将上传 XML 和 ZIP,但不会上传目录,因此 SFTP 服务器上的结构如下所示:
/
|
|--/incoming
|
|-- file.xml
|-- file.zip
我如何才能获得具有权限的文件夹777
?