gpt4 book ai didi

java - ByteArrayOutputStream 容量限制

转载 作者:行者123 更新时间:2023-11-29 10:00:21 29 4
gpt4 key购买 nike

我创建了 ByteArrayOutputStream barr = new ByteArrayOutputStream(1);,即容量为 1 个字节并写入超过 1 个字节 barr.write("123456789000000".getBytes()) ;。没有错误发生,我检查了barr的长度是15。为什么我的写没有被阻塞或包裹?有没有一种方法可以防止写入超出容量的内容以及可以使用哪个 outputstream ?我的可用内存非常有限,不想在那里写超出我限制定义的内容

附言非常感谢您的回答!我跟进了 question如果你能看一下就太好了

最佳答案

如果您尝试写入更多字节,

ByteArrayOutputStream 将增加后备数组。这通常被认为是一件好事。

如果您想要不同的行为,您始终可以编写自己的 OutputStream 实现,它会在要写入的字节数超出容量时抛出 IOException。

ByteArrayOutputStream 不是最终的,因此您可以扩展它。如果要写入的字节数是超过剩余金额。 bufcount 字段受到保护,因此您的子类应该能够看到写入了多少后备数组以及数组的长度

关于java - ByteArrayOutputStream 容量限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33018341/

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