如何从 java 中的 s3 输入流中获取值
How to get the value from the s3 input stream in java
我想在这里获取价值:
public char getTs() throws IOException {
S3ObjectInputStream ts = null;
int i;
ts = (S3ObjectInputStream) s3Services.getResourceStream(fileURL.toString());
while ((i = ts.read()) != -1) {
c = (char) i;
LOGGER.info("req time {} ", c);
}
return c;
}
我得到的值是以位为单位,如何一次得到全部值?
用数组合适吗?
My Output :req time 0
req time 1
req time -
req time 0
req time 1.... and so on
我的预期输出是:req time 01-01-2000 03:10:10
您可以将 S3ObjectInputStream
包装在 InputStreamReader
中,将 InputStreamReader
包装在 BufferedInputStream
中。这样你就可以逐行读取对象:
var reader = new BufferedReader(new InputStreamReader(ts));
var line = reader.readLine();
另请查看 Apache Commons IO,它提供了更多方便的流、读取器和实用程序。
我想在这里获取价值:
public char getTs() throws IOException {
S3ObjectInputStream ts = null;
int i;
ts = (S3ObjectInputStream) s3Services.getResourceStream(fileURL.toString());
while ((i = ts.read()) != -1) {
c = (char) i;
LOGGER.info("req time {} ", c);
}
return c;
}
我得到的值是以位为单位,如何一次得到全部值? 用数组合适吗?
My Output :req time 0
req time 1
req time -
req time 0
req time 1.... and so on
我的预期输出是:req time 01-01-2000 03:10:10
您可以将 S3ObjectInputStream
包装在 InputStreamReader
中,将 InputStreamReader
包装在 BufferedInputStream
中。这样你就可以逐行读取对象:
var reader = new BufferedReader(new InputStreamReader(ts));
var line = reader.readLine();
另请查看 Apache Commons IO,它提供了更多方便的流、读取器和实用程序。