我在存储区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();
}
}
答案 0 :(得分:0)
我认为这可能是您要寻找的。 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,以便您可以按需要正常操作它们。 / p>
编辑:错误在那里,因为它没有被初始化。看看我的代码编辑。
据我所知,您可能需要使用“ OutputChannel”而不是“ InputChannel”,但这是相同的概念。
希望这会有所帮助。