java - 如何将xml文件写入AWS

标签 java xml amazon-s3

目前,我正在使用 XMLOutputFactory 在本地目录上写入 xml 文件接受 OutputStream作为参数。但现在我需要将 xml 文件写入 AWS S3,而不是在本地写入。我没有本地目录访问权限。

但我没有收到“如何将 xml 文件写入 AWS S3?”。

这是我在本地目录中写入 xml 的代码。

File file = new File(storeFilename);
DataOutputStream stream = null;
stream = new DataOutputStream(new FileOutputStream(file));
// Create new instance of XML straem writer
XMLOutputFactory inputFactory = XMLOutputFactory.newInstance();

try {
    XMLStreamWriter writer = inputFactory.createXMLStreamWriter(
                graphMLOutputStream, "UTF8");

    writer.writeStartDocument();
    writer.writeStartElement(GRAPHML);
    writer.writeAttribute(XMLNS, GRAPHML_XMLNS);
   }

我知道如何使用 PutObjectRequest() 将文件放在 AWS S3 上通过提供文件名或输入流作为参数。

// send request to S3 to create folder
PutObjectRequest putobjreq = new PutObjectRequest(
                CAWSConstants.BUCKETNAME, file.getName(), file);            
// put graphml file to aws
s3Client.putObject(putobjreq);   

但我不知道如何使用 xmlWriter 将 xml 转换为输入流。我可以发送至 PutObjectRequest

请给我提示或引用。

最佳答案

您应该能够使用ByteArrayOutputStream而不是FileOutputStream。然后引用How to upload a Java OutputStream to AWS S3 .

关于java - 如何将xml文件写入AWS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34524710/

相关文章:

java - 如何使用通用代码改进类?

java - 通过 https 使用 Axis1

xml - 如何在 XML 输出中嵌入 CSV 文件

amazon-s3 - Amazon S3 未正确提供文件

hadoop - 我如何关联 Amazon EC2、S3 和我的 HDFS?

c# - 发送文件 S3 访问被拒绝

java - HQL .setParameter 单引号内

java - httpurlconnection非法状态异常: already connected

java - 转换/验证的首选方式 - XSLT/XSD

java - 如何使用 Java 从 SOAP 响应中检索元素值?