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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小黑驴 中级黑马   /  2014-5-27 21:18  /  1609 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package lks.lianxi;

  2. import java.io.IOException;
  3. import java.io.FileInputStream;
  4. import java.io.FileOutputStream;
  5. public class FileInputStreamDemo1 {
  6.         public static void main(String[] args)throws IOException {
  7.                 //数据源
  8.                 FileInputStream fis  = new FileInputStream("ez.jpg");
  9.                 //目的地
  10.                 FileOutputStream fos = new FileOutputStream("EZ.jpg");
  11.        

  12.                 byte[] bys = new byte[1024];
  13.                 int len =-1;
  14.                 while((len=fis.read(bys))!=-1){
  15.                         fos.write(bys,0,len);
  16.                 }
  17.                 fos.close();
  18.                 fis.close();
  19.         }
  20. }
复制代码

为什么复制到当前路径的图片 复制不了呢?

11 个回复

倒序浏览
路径没选对吧,加上路径肯定能运行
回复 使用道具 举报
总感觉哪里错了
回复 使用道具 举报
给我分 就对了
回复 使用道具 举报
1.你的源文件必须在当前路径
2.建议你把复制的文件改名,widows对大小写不敏感,会覆盖,谢谢

拿分了
回复 使用道具 举报
  1. FileInputStream fis  = new FileInputStream("这里面写上图片路径");
  2.                 //目的地
  3. FileOutputStream fos = new FileOutputStream("这里面写上图片路径");
复制代码
回复 使用道具 举报
建议最好把异常截图出来
回复 使用道具 举报
小钟 中级黑马 2014-5-28 01:17:49
8#
                  //数据源
FileInputStream fis  = new FileInputStream("C:\\Users\\Administrator\\Desktop\\13667110904.jpg");
//目的地
FileOutputStream fos = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\EZ.jpg");

//都改成绝对路径吧!
回复 使用道具 举报
1.数据源和目的地加上不同的路径2.windows对大小写是不敏感的,如果在同一个目录下会覆盖掉源文件
回复 使用道具 举报
路径是没问题的,是你复制文件的名字,,你试着在同一目录下改一个同名文件,只是大小写不一样,,你就知道是什么情况了!,,windows文件名对大小写是不分的!!所以就是报错!
回复 使用道具 举报
lin' 初级黑马 2014-5-29 08:33:41
11#
你不觉得你的路径太短了吗,电脑怎么找到图片去给你复制
回复 使用道具 举报
  1. import java.io.File;
  2. import java.io.IOException;
  3. import java.io.FileInputStream;
  4. import java.io.FileOutputStream;

  5. public class FileInputStreamDemo1 {
  6.         public static void main(String[] args) throws IOException {
  7.                 // 数据源
  8.                 FileInputStream fis = new FileInputStream("e:\\Z.jpg");
  9.                 File fileinput = new File("e:\\Z.jpg");
  10.                 System.out.println(fileinput.length());//输出源文件的长度,运行结果是1131654
  11.                 System.out.println(fileinput.lastModified());//输出源文件最后修改时间
  12.                 System.out.println("------------------------");
  13.                 // 目的地;
  14.                 FileOutputStream fos = new FileOutputStream("E:\\z.jpg");
  15.                 File fileoutput = new File("e:\\Z.jpg");
  16.                 System.out.println(fileoutput.length());//输出目标文件长度,运行结果是0
  17.                 System.out.println(fileoutput.lastModified());//输出目标文件最后修改时间。
  18.                 System.out.println("------------------------");
  19.                 System.out.println(fileinput.length());//输出源文件的长度,运行结果是0,
  20.                 System.out.println(fileinput.lastModified());//输出目标文件最后修改时间,通过文件大小和最后修改时间,
  21.                                                                                                         //说明源文件已经被新建立的目标文件覆盖
  22.                 System.out.println("------------------------");
  23.                 int len = fis.read();
  24.                 System.out.println("len="+len);//输出源文件,发现结果也是-1。说明源文件是空的。源文件已经是空的,所以楼主的复制就失败了
  25.                 fis.close();
  26.                 fos.close();
  27.         }
  28. }
复制代码

运行结果:
1131654
1401330033058
------------------------
0
1401330039521
------------------------
0
1401330039521
------------------------
len=-1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马