1

正如问题所暗示的那样,我需要知道服务器日志中数据的编码。

我正在使用S3ObjectInputStream. 如下:

amazonS3Client as3c;
S3ObjectInputStream is = as3c.getObject(bucketName, key).getObjectContent();
//read it for processing using buffered input stream.
BufferedReader br = new BufferedReader(new InputStreamReader(is,..unknown..));
//need character encoding(charset eg: UTF-8, UTF-16 etc.) of the data in the object 
//to pass it to InputStreamReader.

在文档中,我只看到getContentEncoding()功能,但我认为它不符合我的目的。

有用的参考资料:

对象元数据

AmazonS3接口

4

1 回答 1

1

您是否检查过 InputStreamReader 的其他构造函数?有一个构造函数只接收 InputStream 作为参数。

http://docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html

据我所知,S3 中的文件是使用作者选择的编码保存的。无论如何,我建议您尝试 UTF-8 编码并检查它是否会引发 UnsupportedEncodingException。

于 2013-09-16T12:20:23.877 回答