1 列举文件
-
解析OSS中指定文件夹下 .txt 文件为Java对象
-
注意 : ObjectListing 列表中会有一个文件为null ,注意从集合中清除
private List<DataExportDto> getDtoListFromOSS(OSSClient ossClient, String bucketName, String prefix) {
InputStream inputStream = null;
List<DataExportDto> list = new ArrayList<>();
try {
ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName);
listObjectsRequest.setPrefix(prefix);
ObjectListing listing = ossClient.listObjects(listObjectsRequest);
if (listing != null) {
for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) {
OSSObject object = ossClient.getObject(objectSummary.getBucketName(), objectSummary.getKey());
inputStream = object.getObjectContent();
byte[] content = new byte[1024];
int len = 0;
int temp;
while ((temp = inputStream.read()) != -1) {
content[len] = (byte) temp;
len++;
}
String dataExportDtoJson = new String(content, 0, len);
DataExportDto dataExportDto = JSONObject.parseObject(dataExportDtoJson, DataExportDto.class);
list.add(dataExportDto);
}
}
} catch (Exception e) {
logger.error("接口调用异常getDtoListFromOSS", e);
return null;
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
} catch (IOException e) {
logger.error("关流异常", e);
}
}
list.remove(null);
return list;
}