请问第24行结果为什么不是false

img


请问第24行结果为什么不是false?s3与s4不是new出来的所以结果不应该地址不同吗?

你确定结果不是false??? 自信点就是false

结果就是false呀

img

  • 这篇博客: S3 文件操作使用实践中的 4.1 下载对象到指定目录 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • public static boolean getObjectByKey(String bucketName, String objectKey, 
                                         String path) {
        log.info("S3Utils getObjectByKey key={}", objectKey);
        // 1.从 S3 获取文件
        GetObjectRequest objectRequest = GetObjectRequest
                .builder()
                .key(objectKey)
                .bucket(bucketName)
                .build();
        try (S3Client s3Client = S3Utils.createS3Client(S3Utils.REGION, null);
             ResponseInputStream<GetObjectResponse> responseInputStream = s3Client.getObject(objectRequest);
             FileOutputStream fileOutputStream = new FileOutputStream(path)) {
            String eTag = responseInputStream.response().eTag().replaceAll("\"", "");
            log.info("eTag={}", eTag);
            // 2.下载文件到临时目录
            byte[] bufferByte = new byte[STREAM_BUFFER_LENGTH];
            int len;
            while ((len = responseInputStream.read(bufferByte)) != -1) {
                fileOutputStream.write(bufferByte, 0, len);
            }
            fileOutputStream.flush();
            // 3.验证文件的完整性
            boolean validateResult = validateFile(path, eTag);
            if (validateResult) {
                return true;
            }
        } catch (Exception e) {
            log.error("deleteObjectByKey error", e);
        }
        // 4.如果验证失败,删除文件
        FileUtils.deleteFile(path);
        return false;
    }