import java.io.*;
class ByteArrayStream
{
public static void main(String[] args) throws IOException
{
byteArray();
}
//操作字节数组的方法
public static void byteArray()throws IOException
{
//数据源。
ByteArrayInputStream bis = new ByteArrayInputStream("abcdefg".getBytes());//字节数组读取流
//数据目的
ByteArrayOutputStream bos = new ByteArrayOutputStream();//字节数组输出流
int by = 0;//读取字节存储
while ((by=bis.read())!=-1)//循环读取
{
bos.write(by);//输出
// sop(by);
}
sop(bos.size());//查看长度
sop(bos.toString());//将字节转换为字符串输出
bos.writeTo(new FileOutputStream("a.txt"));//输出到字节输出流
/*就是这里,这里的字节输出流怎么关闭?因为调用了底层资源,要关闭的。是用下面的bos.close()关闭吗?还是其他怎么写的?
毕老师的视频中没有详细的谈到这个问题。问一下大牛们,这个问题怎么解决啊*/
bos.close();//这里能不能关闭底层资源的调用呢?
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
zhangyangLengen 发表于 2014-11-12 08:51
bos是不需要进行关闭底层资源的,因为它操作的是内存中的数据,不需要底层资源的 ...
zhangyangLengen 发表于 2014-11-12 10:15
哥们,你是现在工作了吗
zhangyangLengen 发表于 2014-11-12 10:17
close0()这个方法是系统底层方法
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |