gpt4 book ai didi

java - 如何将从s3下载的s3object写入文件

转载 作者:行者123 更新时间:2023-12-02 00:49:29 26 4
gpt4 key购买 nike

我正在尝试从 s3 存储桶下载 s3object,然后将该对象写入 html 文件。 S3 对象正在下载,但是当我尝试创建一个文件并尝试写入该文件时,我遇到 NullPointerException,我不确定我的代码有什么问题。请检查我下面的代码,这方面的任何帮助或指导都会非常有帮助。

 S3Object s3Object = s3Services.downloadFile("filename", "bucketName");
if (s3Object == null) {
throw new Exception("Object not found");
}
File file = new File(request.getServletContext().getRealPath("/"+randomfilename+"."+"html")); // NullPointerException here
FileWriter writer = new FileWriter(file);
writer.write(s3Object.getObjectContent().toString());
FileInputStream input = new FileInputStream(file);
Files.copy(s3Object.getObjectContent(), file.toPath());
input.close();
ModelAndView v= new ModelAndView(request.getServletContext().getRealPath("/"+randomfilename+"."+"html"));
return v;

我的用例是我试图让用户自定义他的文本并将该自定义文件存储到 s3,当用户下次登录时我正在成功执行此操作,如果他生成了自定义文档,我应该填充他页面,因此要实现此目的,我必须从 s3 下载用户特定文件并将其写入某个 html 文件并向他显示该页面。

最佳答案

似乎 request.getServletContext().getRealPath("/"+randomfilename+"."+"html") 返回 null - 您可以通过换行来检查它:

File file = new File(request.getServletContext().getRealPath("/"+randomfilename+"."+"html"));//这里出现空指针异常

进入

String fileName = request.getServletContext().getRealPath("/"+randomfilename+"."+"html");
System.out.println("文件名 = "+ 文件名);
文件 file = new File(文件名);

除此之外,如果您使用 Files.copy 到路径中,则不需要使用 FileWriter,这样您就可以删除这些行:

FileWriter writer = new FileWriter(文件);
writer.write(s3Object.getObjectContent().toString());
FileInputStream 输入 = new FileInputStream(文件);
输入.close();

关于java - 如何将从s3下载的s3object写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57871510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com