Java BufferedReader无法读取Google云存储ReadChannel上的所有行

Java BufferedReader无法读取Google云存储ReadChannel上的所有行,java,google-cloud-storage,bufferedreader,nio,Java,Google Cloud Storage,Bufferedreader,Nio,我正在下载一个Google云存储对象(大小约400MB的GZIP文件,2500万行记录),代码如下: Blob blob = storage.get(bucketName, blobName); ReadChannel readChannel = blob.reader(); ReadChannel已压缩并通过以下方式传递给BufferedReader: BufferedReader reader = new BufferedReader( n

我正在下载一个Google云存储对象(大小约400MB的GZIP文件,2500万行记录),代码如下:

Blob blob = storage.get(bucketName, blobName);
ReadChannel readChannel = blob.reader();
ReadChannel已压缩并通过以下方式传递给BufferedReader:

BufferedReader reader = 
        new BufferedReader(
                new InputStreamReader(
                        new GZIPInputStream(
                                Channels.newInputStream(readChannel)),
                UTF_8));

问题:

BufferedReader始终只能读取10110000行(2500万行中的一行)(尝试了10多次以上)

额外信息:

  • 此时google ReadChannel仍然是endOfStream=false。但是BufferedReader的InputStreamReader具有endOfFile=true

  • 我可以使用以下方法从完全相同的ReadChannel读取整行(2500万):

    BufferedReader reader = 
            new BufferedReader(
                    new InputStreamReader(
                            new GZIPInputStream(
                                    Channels.newInputStream(readChannel)),
                    UTF_8));
    
    

  • 非常感谢您的帮助。

    您是否有可能超过某个请求超时时间-您使用此读卡器做什么,需要多长时间?您是否有可能超过某个请求超时时间-您使用此读卡器做什么,需要多长时间?