java.nio.file AWS 实施
java.nio.file implementation for AWS
是否有 AWS
的官方 java.nio.file
实施?
我为 GoogleCloudStorage
here 找到了一个,AWS
和 Azure
也需要类似的。
您可以尝试使用 Amazon AWS S3 FileSystem Provider JSR-203 for Java 7 (NIO2)
从 Maven Central 下载
<dependency>
<groupId>com.upplication</groupId>
<artifactId>s3fs</artifactId>
<version>2.2.2</version>
</dependency>
添加到您的 META-INF/services/java.nio.file.spi.FileSystemProvider(如果尚不存在则创建)像这样的新行:com.upplication.s3fs.S3FileSystemProvider.
使用此代码创建文件系统并设置为具体端点。
FileSystems.newFileSystem("s3:///", new HashMap<String,Object>(), Thread.currentThread().getContextClassLoader());
如何在Apache MINA中使用
public FileSystemFactory createFileSystemFactory(String bucketName) throws IOException, URISyntaxException {
FileSystem fileSystem = FileSystems.newFileSystem(new URI("s3:///"), env, Thread.currentThread().getContextClassLoader());
String bucketPath = fileSystem.getPath("/" + bucketName);
return new VirtualFileSystemFactory(bucketPath);
}
如何在Spring
中使用
添加到类路径并配置:
@Configuration
public class AwsConfig {
@Value("${upplication.aws.accessKey}")
private String accessKey;
@Value("${upplication.aws.secretKey}")
private String secretKey;
@Bean
public FileSystem s3FileSystem() throws IOException {
Map<String, String> env = new HashMap<>();
env.put(com.upplication.s3fs.AmazonS3Factory.ACCESS_KEY, accessKey);
env.put(com.upplication.s3fs.AmazonS3Factory.SECRET_KEY, secretKey);
return FileSystems.newFileSystem(URI.create("s3:///"), env, Thread.currentThread().getContextClassLoader());
}
}
在任何spring组件中注入:
@Autowired
private FileSystem s3FileSystem;
是否有 AWS
的官方 java.nio.file
实施?
我为 GoogleCloudStorage
here 找到了一个,AWS
和 Azure
也需要类似的。
您可以尝试使用 Amazon AWS S3 FileSystem Provider JSR-203 for Java 7 (NIO2)
从 Maven Central 下载
<dependency>
<groupId>com.upplication</groupId>
<artifactId>s3fs</artifactId>
<version>2.2.2</version>
</dependency>
添加到您的 META-INF/services/java.nio.file.spi.FileSystemProvider(如果尚不存在则创建)像这样的新行:com.upplication.s3fs.S3FileSystemProvider.
使用此代码创建文件系统并设置为具体端点。
FileSystems.newFileSystem("s3:///", new HashMap<String,Object>(), Thread.currentThread().getContextClassLoader());
如何在Apache MINA中使用
public FileSystemFactory createFileSystemFactory(String bucketName) throws IOException, URISyntaxException {
FileSystem fileSystem = FileSystems.newFileSystem(new URI("s3:///"), env, Thread.currentThread().getContextClassLoader());
String bucketPath = fileSystem.getPath("/" + bucketName);
return new VirtualFileSystemFactory(bucketPath);
}
如何在Spring
中使用添加到类路径并配置:
@Configuration
public class AwsConfig {
@Value("${upplication.aws.accessKey}")
private String accessKey;
@Value("${upplication.aws.secretKey}")
private String secretKey;
@Bean
public FileSystem s3FileSystem() throws IOException {
Map<String, String> env = new HashMap<>();
env.put(com.upplication.s3fs.AmazonS3Factory.ACCESS_KEY, accessKey);
env.put(com.upplication.s3fs.AmazonS3Factory.SECRET_KEY, secretKey);
return FileSystems.newFileSystem(URI.create("s3:///"), env, Thread.currentThread().getContextClassLoader());
}
}
在任何spring组件中注入:
@Autowired
private FileSystem s3FileSystem;