目前,我正在使用 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/