黑马程序员技术交流社区
标题:
关于复制图片的一个问题,求解
[打印本页]
作者:
敖东
时间:
2011-10-1 23:32
标题:
关于复制图片的一个问题,求解
import java.io.*;
class CopyPic
{
public static void main(String[] args)
{
FileInputStream fis=null;
FileOutputStream fos=null;
try
{
fis=new FileInputStream("c:\\1.jpeg");
fos=new FileOutputStream("c:\\2.jpeg");
byte[] buf=new byte[1024];
int len=0;
while((len=fis.read(buf))!=-1)
{
fos.write(buf,0,len);
}
}
catch (IOException e)
{
throw new RuntimeException("复制图片失败");
}
finally
{
try
{
if(fis!=null)
fis.close();
}
catch (IOException e)
{
throw new RuntimeException("提取图片失败");
}
try
{
if(fos!=null)
fos.close();
}
catch (IOException e)
{
throw new RuntimeException("写入图片失败");
}
}
}
}
运行时抛出异常
Exception in thread "main" java.lang.RuntimeException: 复制图片失败
at CopyPic.main(CopyPic.java:25)
什么问题? 用dos调试的
作者:
匿名
时间:
2011-10-2 03:35
把两个流打印出来,看名字是不是null
作者:
匿名
时间:
2011-10-2 08:29
byte[] buf=new byte[1024];
这个地方不用写1024,写成fis.available()试试
作者:
匿名
时间:
2011-10-2 10:26
确定下图片格式是否正确,一般情况下应该是****.jpg
作者:
匿名
时间:
2011-10-2 15:47
if(fis!=null)
fis.close();
}
这句话有误。检查一下你的流是否为空。
作者:
匿名
时间:
2011-10-2 16:09
应该是后缀名写错了
作者:
匿名
时间:
2011-10-4 15:53
import java.io.*;
class CopyPic
{
public static void main(String[] args) throws Exception
{
FileInputStream fis=null;
FileOutputStream fos=null;
System.out.println("A");
fis=new FileInputStream("c:\\1.jpeg");
fos=new FileOutputStream("c:\\2.jpeg");
System.out.println("B");
byte[] buf=new byte[1024];
int len=0;
while((len=fis.read(buf))!=-1)
{
fos.write(buf,0,len);
}
System.out.println("C");
fis.close();
fos.close();
}
}
经测试 发现只有A被打印了出来 所以应该是
fis=new FileInputStream("c:\\1.jpeg");
fos=new FileOutputStream("c:\\2.jpeg");
这段代码出现错误 所以应该是文件没有这个文件 或者文件的后缀名错误
作者:
匿名
时间:
2011-10-4 16:37
你自己不是写了异常处理么,dos下显示的就是说,你try{}里面的那些语句执行出现IO错误,应该是
fis=new FileInputStream("c:\\1.jpeg");
fos=new FileOutputStream("c:\\2.jpeg");
这2句出错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2