gpt4 book ai didi

java - 统计通过 GZIPOutputStream 形成的 BufferedWriter 写入文件的字节数

转载 作者:行者123 更新时间:2023-11-30 07:06:36 24 4
gpt4 key购买 nike

我有一个 BufferedWriter 如下所示:

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
new GZIPOutputStream( hdfs.create(filepath, true ))));

String line = "text";
writer.write(line);

我想找出写入文件的字节数,而不用像

这样的查询文件
hdfs = FileSystem.get( new URI( "hdfs://localhost:8020" ), configuration );

filepath = new Path("path");
hdfs.getFileStatus(filepath).getLen();

因为它会增加开销,我不希望这样。

我也不能这样做:

line.getBytes().length;

因为它在压缩前给出大小。

最佳答案

您可以使用 CountingOutputStream来自 Apache commons IO 库。

将它放在 GZIPOutputStream 和文件 Outputstream (hdfs.create(..)) 之间。

将内容写入文件后,您可以从 CountingOutputStream 实例中读取写入的字节数。

关于java - 统计通过 GZIPOutputStream 形成的 BufferedWriter 写入文件的字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25571051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com