9、用于操作数组和字符串的流对象
ByteArrayInputStream ByteArrayOutputStream
CharArrayReader CharArrayWriter
StringReader StringWriter
关闭这些流都是无效的,因为这些都未调用系统资源,不需要抛IO异常。
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
/**
* 源和目的都是内存的读写过程
*用流的思想操作数组中的数据
*/
public class ByteArrayStreamDemo {
public static void main(String[] args) {
//源:内存
ByteArrayInputStream bis=new ByteArrayInputStream("andhhshad".getBytes());
//目的:内存
ByteArrayOutputStream bos=new ByteArrayOutputStream();//内部有个可自动增长的数组
//因为都是源和目的都是内存,没有调用底层资源,所以不要关闭,即使调用了close也没有任何效果,关闭后仍然可使用,不会抛出异常。
int ch=0;
while((ch=bis.read())!=-1) {
bos.write(ch);
}
System.out.println(bos.toString());
}
}

该博客介绍了如何使用ByteArrayInputStream和ByteArrayOutputStream进行内存中的数据读写操作,强调了这些流对象由于不涉及系统资源,因此关闭操作是无效的。通过示例代码展示了如何在内存中读取和写入字符串,并输出结果。
https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.999.0.0
1166

被折叠的 条评论
为什么被折叠?



