A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© zhoubinjian 金牌黑马   /  2016-4-23 03:02  /  620 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字节流

FileInputStream fis=new FileInputStream("fos.txt");//建立一个读取的字节流

byte[] buf=new byte[fis.available()];//定义一个数组,长度是刚刚好是字节 的长度,不用再循环了。注意:available()是字节流特有的方法。返回的是int类型,字节 的长度

复制一个图片:思路  注意:字符流也可以复制,不过容易出错,导致复制的文件打不开。
1.用字节读取流对象和图片相关联。
2.用字节写入流对象创建一个图片文件,用于存储获取到的图片数据。
3.通过循环读写操作,完成数据的存储。
4.关闭资源。

FileInputStream fis=null;
FileOutputStream fos=null;
try
{
        fos=new FileOutputStrea("目标文件");
        fis=new FileInputStrea("复制文件");
        byte[] arr=new byte[1024];
        int num=0;
        while((num=fis.read(arr))!=-1)
                {
                        fos.write(arr,0,num);
                }
}
catch
{}~~~~~~

自定义字节流的缓冲区
read()和write()的特点:
read()会提升读取的字节。
write()会向下转型,输出有效位(指定位)
这样是避免读取到的是字节是-1,导致循环不能进行。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马