A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© air 中级黑马   /  2013-12-18 18:07  /  1104 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 air 于 2013-12-19 17:39 编辑
  1. /*
  2. 复制一张图片
  3. 思路:
  4. 1.用字节读取流对象和图片关联,
  5. 2.用字节写入流对象创建一个图片文件,用于存储获取到的图片数据。
  6. 3,通过循环读写,完成数据的存储,
  7. 4,关闭资源。
  8. */
  9. import java.io.*;
  10. class  CopyPic
  11. {
  12.         public static void main(String[] args)
  13.         {
  14.                 FileOutputStream fos = null;
  15.                 FileInputStream fis = null;
  16.                 try
  17.                         {        
  18.                                 fis = new FileInputStream("g:\\3.png");
  19.                                 fos = new FileOutputStream("g:\\4.png");        
  20.                                 byte[] buf = new byte[1024];
  21.                                 int len = 0;
  22.                                 while((len = fis.read(buf))!=-1)
  23.                                 {
  24.                                         fos.write(buf,0,len);
  25.                                 }
  26.                         }
  27.                 catch (IOException e)
  28.                         {
  29.                                 throw new RuntimeException("你的复制木有成功");
  30.                         }
  31.                 finally
  32.                         {
  33.                                 try
  34.                                         {
  35.                                                 if(fis!=null)
  36.                                                         fis.close();
  37.                                         }
  38.                                 catch (IOException e)
  39.                                         {
  40.                                                 throw new RuntimeException("你的读取关闭木有成功");
  41.                                         }
  42.                                 try
  43.                                         {
  44.                                                 if(fos!=null)
  45.                                                         fos.close();
  46.                                         }
  47.                                 catch (IOException e)
  48.                                         {
  49.                                                 throw new RuntimeException("你的写入关闭木有成功");
  50.                                         }
  51.                         
  52.                         }
  53.         }
  54. }
复制代码

二话不说,强力插入
代码如上,其中将要读取文件格式是jpeg,编译成功,运行时报异常复制木有成功.
后来,将jpeg改成png,编译运行均成功..难道java不是执行的windows 里面的复制方法吗?
java里面独有的复制方法对jpeg和png 为啥会有不一样的待遇啊????
谁能告诉我
1,原因是什么?
2,原理是什么?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

2 个回复

倒序浏览
仔细看看报了什么异常,什么提示信息
会不会是文件不存在或者什么问题
先别全部抛成RunTimeException()
回复 使用道具 举报
air 中级黑马 2013-12-18 19:15:47
藤椅
風諾 发表于 2013-12-18 18:11
仔细看看报了什么异常,什么提示信息
会不会是文件不存在或者什么问题
先别全部抛成RunTimeException() ...

视频里示例是bmp.我开始是jpeg,后来换了png.
其他地方完全没有改动
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马