黑马程序员技术交流社区
标题:
这个异常是什么呀
[打印本页]
作者:
小洋人最happy
时间:
2012-12-5 15:32
标题:
这个异常是什么呀
/*
复制一个图片
思路:
1. 用字节读取流对象和图片关联
2.用字节写入流对象创建一个图片文件,用于存储获取到的图片数据
3. 通过循环读写,完成数据的存储
4.关闭资源
*/
import java.io.*;
class CopyPic
{
public static void main(String[] args)
{
FileOutputStream fos = null;
FileInputStream fis = null;
try
{
fos = new FileOutputStream("c:\\2.jpeg");
fis = new FileInputStream("c:\\1.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("cuowu");
}
try
{
if(fos!=null)
fos.close();
}
catch (IOException e)
{
throw new RuntimeException("cuowu");
}
}
}
}
E:\java\Java1111\day19>java CopyPic
Exception in thread "main" java.lang.RuntimeException: 复制文件失败
at CopyPic.main(CopyPic.java:32)
作者:
坚持远方
时间:
2012-12-5 15:52
刚才帮你试了下,应该是两种错误,要不是文件不存在,要不就是文件格式不对,你看一下吧
作者:
魏秀盛
时间:
2012-12-5 17:05
本帖最后由 魏秀盛 于 2012-12-5 17:10 编辑
我测试下,我C盘下面有一个NBA.jpg图片文件,我编译运行之后,错误日志打印输出到一个文件中,日志文件内容如下:
2012-12-05 16:57:38
java.io.FileNotFoundException: c:\NBA.jpeg (The system cannot find the file specified)
提示文件找不到
可能是你C盘下的图片文件是1.jpg,后缀名是jpg,而你代码中写的是1.jpeg,后缀名是jpeg
你把代码中的1.jpeg改为1.jpg之后再编译运行应该可以解决这个错误
推荐把错误日志打印到一个日志文件中,有助于你快速找寻问题,具体请参照毕老师的io视频中的异常日志信息部分;
/*
复制一个图片
思路:
1. 用字节读取流对象和图片关联
2.用字节写入流对象创建一个图片文件,用于存储获取到的图片数据
3. 通过循环读写,完成数据的存储
4.关闭资源
*/
import java.io.*;
import java.util.*;
import java.text.*;
class CopyPic2
{
public static void main(String[] args) throws Exception
{
FileOutputStream fos = null;
FileInputStream fis = null;
try
{
fos = new FileOutputStream("c:\\2.jpg");
fis = new FileInputStream("c:\\NBA.jpg");
byte[] buf = new byte[1024];
int len =0;
while ((len=fis.read(buf))!=-1)
{
fos.write(buf,0,len);
}
}
catch (IOException e)
{
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s=sdf.format(d);
PrintStream ps=new PrintStream("error.log");
ps.println(s);
System.setOut(ps);
e.printStackTrace(System.out);
}
finally
{
try
{
if(fis!=null)
fis.close();
}
catch (IOException e)
{
throw new RuntimeException("cuowu");
}
try
{
if(fos!=null)
fos.close();
}
catch (IOException e)
{
throw new RuntimeException("cuowu");
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2