【问题标题】:Read N Lines from S3 in Java using aws-java-sdk使用 aws-java-sdk 从 Java 中的 S3 读取 N 行
【发布时间】:2021-07-26 18:16:32
【问题描述】:

如何使用 aws sdk 从 s3 一次读取 100 行 CSV 文件。 在下面的代码中,我一次读取一行。

S3Object o  = s3Client.getObject("temp", "file_name");
            InputStreamReader inputStreamReader = new InputStreamReader(o.getObjectContent());
            BufferedReader reader = new BufferedReader(inputStreamReader);
            String s = null;
            while ((s = reader.readLine()) != null)
            {
                System.out.println(s);
                //your business logic here
            }
            inputStreamReader.close();

有没有办法一次读取 100 或 1000 行。

【问题讨论】:

    标签: amazon-web-services spring-boot amazon-s3 aws-java-sdk


    【解决方案1】:

    对于小文件,亚马逊提供getObjectAsString。你可以试试

    String objAsString  = s3Client.getObjectAsString("temp", "file_name");
    

    它的作用是

    检索 S3 对象的内容并将其解码为字符串。

    您也可以使用lines() 并在获得BufferedReader reader 后收集到List<String>

    reader.lines().collect(Collectors.toList());
    

    你可以参考一些其他方式here

    【讨论】:

      猜你喜欢
      • 2017-11-07
      • 1970-01-01
      • 2018-08-11
      • 2018-02-22
      • 2020-05-20
      • 2015-04-18
      • 1970-01-01
      • 2017-06-29
      • 1970-01-01
      相关资源
      最近更新 更多