本帖最后由 王舜民 于 2012-7-23 12:32 编辑
import java.io.*;
class CopyPic
{
public static void main(String[] args)
{
FileOutputStream fos = null;
FileInputStream fis = null;
try
{
fos = new FileOutputStream("c:\\diaochan2.bmp");//写入文件
fis = new FileInputStream("c:\\2.bmp");//读取文件
byte[] buf =new byte[1024];
int len =0;
while((len=fis.read(buf))!=-1) //这个while循环没真正看懂,只知道每次判断读取文件有没有到末尾,是末尾就返回-1。
//为什么这边用read方法
{
fos.write(buf,0,len);
}
}
catch (IOException e)
{
throw new RuntimeException("复制文件失败");//为什么这边要抛复制文件失败的异常呢,不直接抛读取和写入失败的异常呢。
}
finally
{
try
{
if(fis!=null) //这边的应该怎么理解 为什么要try 读取不为空
fis.close();
}
catch (IOException e)
{
throw new RuntimeException("读取关闭失败");
}
try
{
if(fos!=null)
fos.close();
}
catch (IOException e)
{
throw new RuntimeException("写入关闭失败");
}
}
}
}
当时感觉看懂了其实根本不会啊{:soso_e115:}
|