如何将xml文件写入AWS

时间:2015-12-30 07:12:59

标签: 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转换为inputstream。我可以发送到PutObjectRequest

请给我提示或参考。

1 个答案:

答案 0 :(得分:0)

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