黑马程序员技术交流社区
标题:
用字节复制一个图片
[打印本页]
作者:
Running
时间:
2014-6-18 22:38
标题:
用字节复制一个图片
import java.io.*;
class CopyPic
{
public static void main(String[] args)
{
FileOutputStream fos=null;
FileInputStream fis=null;
try
{
fos=new FileOutputStream ("c:\\2.bpm");
fis=new FileInputStream ("c:\\1.bpm");
byte[] buf=new byte[1024];
int len=0;
while((len=fis.read(buf))!=-1) //这里的len存的是数组的角标吗??
{
fos.write(buf,0,len);
}
}
catch(IOException e)
{
throw new RuntimeException("复制文件失败");
}
finally
{
try
{
if(fis!=null) //这个条件是什么意思?为什么在这个条件下要关资源呢??
fis.close();
}
catch(IOException e)
{
throw new RuntimeException("读取文件失败");
}
}
}
}
请各位就程序中注释的问题给予指导,谢谢。
作者:
ゞ导火索゛
时间:
2014-6-18 22:49
len:表示fis一次读入到数组buf中的字节数
关于进行判断 if(fis!=null) ,是因为该语句是在finally中,是必须要执行的代码,
如果在 fis=new FileInputStream ("c:\\1.bpm");中出现FileNotFoundException异常,则fis创建不成功,在这种情况下就不需要关闭fis
作者:
Running
时间:
2014-6-19 09:00
ゞ导火索゛ 发表于 2014-6-18 22:49
len:表示fis一次读入到数组buf中的字节数
关于进行判断 if(fis!=null) ,是因为该语句是在finally中,是必 ...
明白了,谢谢。。
作者:
SEPARATOR
时间:
2014-6-19 11:05
1,len中储存数组buf中的元素个数。当读到数组尾端会返回-1.
2, if(fis!=null) 因为如果fis.输入流没有被创建成功,就不需要被关闭。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2