【发布时间】:2015-10-08 14:14:20
【问题描述】:
我创建了ByteArrayOutputStream barr = new ByteArrayOutputStream(1);,即容量为 1 个字节并写入超过 1 个字节的barr.write("123456789000000".getBytes());。没有出现错误,我检查barr的长度是15。为什么我的写作没有被阻止或包裹?有没有办法防止写入超过容量以及可以使用哪个outputstream?
我的可用内存非常有限,不想写超出我的限制定义的内容
附言 非常感谢您的回答!我有一个跟进question 如果你能看,那就太好了
【问题讨论】:
-
根据 Javadoc,“缓冲区会随着数据写入而自动增长。” Reference
-
即 - 给定的容量是初始容量?
-
正确 - 构造函数中的 int 参数只是数组缓冲区的初始大小。
标签: java outputstream capacity