作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有存储桶 XLS
文件,我必须提取该文件并读取流上的数据并处理数据。我使用 CSV
文件,这是我的代码:
try (ReadChannel reader = storage.reader(bucketName, fileName)) {
ByteBuffer bytes = ByteBuffer.allocate(BUFFER_SIZE);
while (reader.read(bytes) > 0) {
bytes.flip();
// outChannel.write(bytes);
set(new String(bytes.array(), "UTF-8"), fileName);
bytes.clear();
}
}
最佳答案
我想这可能就是您正在寻找的。 GCS Input Channel
GcsService gcsService = GcsServiceFactory.createGcsService();
GcsFilename fileName = new GcsFilename("TestBucket", "Test1.xlsx");
GcsInputChannel readChannel = gcsService.openPrefetchingReadChannel(fileName, 0, BUFFER_SIZE);
InputStream inputStream = Channels.newInputStream(readChannel);
我还发现了一个有趣的解决方法,可能会对您有所帮助,在此 answer您有一段代码可以将所有 Excel 文件转换为 CSV,以便您可以按照正常方式操作它们(如果您愿意)。
编辑:错误的存在是因为它没有初始化。看看我的代码编辑。
就您的情况而言,据我了解,您可能需要使用“OutputChannel ”而不是“InputChannel”,但这是相同的概念。
希望这有帮助。
关于java - 如何从 gcp 存储桶读取 XLS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59266464/
我是一名优秀的程序员,十分优秀!