如何在GCS bucket java上创建新文件

时间:2018-04-16 07:33:12

标签: java google-cloud-datastore google-cloud-storage

我正在尝试在我的一个Google云储存存储桶中创建一个新文件。 这是我写的代码:

    InputStream stream = new ByteArrayInputStream(report.getBytes(StandardCharsets.UTF_8.name()));
    GcsFilename filename = new GcsFilename(BUCKET_NAME, csvFileName);
    GcsFileOptions options = GcsFileOptions.getDefaultInstance();
    GcsOutputChannel outputChannel = gcsService.createOrReplace(filename, options);
    copy(stream, Channels.newOutputStream(outputChannel));

代码运行没有错误,但存储桶仍为空。 我99%肯定我正确地编写了代码(它在另一个项目中适用于我),但问题在于GCS存储桶设置。 感谢。

1 个答案:

答案 0 :(得分:0)

我认为Raghuram Kasyap所链接的问题应该会有所帮助,但是如果您想使用NIO Filesystem Provider for Google Cloud Storage,它将像这样:

InputStream stream = new ByteArrayInputStream(report.getBytes(StandardCharsets.UTF_8.name()));
try (FileSystem fs = CloudStorageFileSystem.forBucket(BUCKET_NAME)) {
    Path dest = fs.getPath(filename);
    Files.copy(stream, dest);
}

上面的链接具有您需要添加到项目中的依赖项;它是google-cloud-java的一部分。我尝试了上面的代码,它对我有用。