黑马程序员技术交流社区
标题:
IO流,复制图片的问题
[打印本页]
作者:
奔跑的二叉树
时间:
2013-9-15 15:13
标题:
IO流,复制图片的问题
本帖最后由 奔跑的二叉树 于 2013-9-15 18:48 编辑
import java.io.*;
public class CopyPic {
public static void main(String[] args) {
FileOutputStream fos=null;
FileInputStream fis=null;
try
{
fis =new FileInputStream("F:\\old.jpg");//读取目标文件
fos =new FileOutputStream("F:\\new.jpg");//写入新文文件
byte[] buf=new byte[1024];
int len=0;
while((len=fis.read())!=-1)
{
fos.write(buf,0,len);
}
}
catch(Exception e)
{
throw new RuntimeException("复制文件失败");
}
finally
{
try
{
if(fis!=null)
{
fis.close();
}
}
catch(Exception e)
{
throw new RuntimeException("读取关闭失败失败");
}
try
{
if(fos!=null)
{
fos.close();
}
}
catch(Exception e)
{
throw new RuntimeException("写入关闭失败失败");
}
}
}
}
复制代码
运行这段代码后发现,图片倒是复制了,但是打不开,而且两个图片文件大小不一致,复制后的明显比原来的大,啥情况啊
作者:
lizhangzhi
时间:
2013-9-15 16:02
while((len=fis.read(buf))!=-1)把while语句改成这样就ok了
作者:
奔跑的二叉树
时间:
2013-9-15 18:48
lizhangzhi 发表于 2013-9-15 16:02
while((len=fis.read(buf))!=-1)把while语句改成这样就ok了
太粗心了,老是出这种问题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2