用Java从AmazonS3读取文件的最佳方法

用Java从AmazonS3读取文件的最佳方法,java,json,amazon-web-services,amazon-s3,Java,Json,Amazon Web Services,Amazon S3,我得到了一个S3文件的URL,格式如下: s3n://xxxxxxxxxxxxxxxxxxxx:XXXXXXXXXXXXXXXXXXXXXXXXXXXXX@bucket/foo/bar.json 从这个位置提取json文件的最佳方法是什么 我希望将URL视为一个不透明的值,并避免对其进行解析,这样它就可以在不需要更改底层代码的情况下进行更改 当我试图将该值传递给java.net.URL时,它会抛出一个格式错误的异常,因为它无法识别S3协议 谢谢大家! 在amazons3中,您首先需要对给定的bu

我得到了一个S3文件的URL,格式如下:

s3n://xxxxxxxxxxxxxxxxxxxx:XXXXXXXXXXXXXXXXXXXXXXXXXXXXX@bucket/foo/bar.json

从这个位置提取json文件的最佳方法是什么

我希望将URL视为一个不透明的值,并避免对其进行解析,这样它就可以在不需要更改底层代码的情况下进行更改

当我试图将该值传递给java.net.URL时,它会抛出一个格式错误的异常,因为它无法识别S3协议


谢谢大家!

amazons3
中,您首先需要对给定的bucket进行身份验证,然后提取所需对象的
InputStream
,然后您就可以完成您的需要了


要通过获取对象或通过URL访问对象,需要提供对该对象的公共访问。请参见

您可以实现支持s3n协议的URLStreamHandler

的Java文档解释了如何发现URLStreamHandle

在URLStreamHandler中,您需要进行url解析,以将其映射到s3客户端的需要


但是任何使用它的代码都不必依赖于任何S3相关元素,如果需要,应该与其他存储一起使用URLStreamHandler。

有一些原因,你不能使用aws java sdk中的S3客户端?S3客户端不能使用url格式,我没有将其分解成碎片,如果可能的话,我希望避免这样做。