gpt4 book ai didi

使用相同大小的缓冲区的 Java 复制流

转载 作者:行者123 更新时间:2023-12-02 08:43:50 26 4
gpt4 key购买 nike

以下逻辑用于使用输入/输出流复制文件。使用 Bufferred Streams 真的有好处吗,因为它使用相同大小的字节缓冲区?

int bufferSize = getDefaultBufferSize();
input = new BufferedInputStream(in, bufferSize);
output = new BufferedOutputStream(out, bufferSize);
byte[] buffer = new byte[bufferSize];
int numBytes = 0;
long totalBytes = 0L;
while ((numBytes = input.read(buffer)) != -1) {
output.write(buffer, 0, numBytes);
totalBytes += numBytes;
}
output.flush();

最佳答案

BufferedInputStream这里对你没有任何好处。

BufferedOutputStream不太清楚。底层输出设备可能支持比输入流返回的 block 大的 block 的高效传输,因此删除 BufferedOutputStream 可能意味着您将进行大量较小的写入。

关于使用相同大小的缓冲区的 Java 复制流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61214231/

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