黑马程序员技术交流社区

标题: 为什么就是复制不成功啊 代码没错啊???? [打印本页]

作者: 班志国    时间: 2012-10-16 12:54
标题: 为什么就是复制不成功啊 代码没错啊????
本帖最后由 班志国 于 2012-10-21 08:49 编辑

  1. <DIV class=blockcode>
  2. <BLOCKQUOTE>import java.io.*;
  3. class Copypic
  4. {
  5.             public static void main(String[] args)
  6.             {
  7.                   FileOutputStream fos=null;
  8.                   FileInputStream fis =null;

  9.                    try
  10.                    {
  11.                          fos=new FileOutputStream("f:\\cp3.bmp");
  12.                          fis=new FileInputStream("f:\\chris.bmp");
  13.                          byte[] buf=new byte[1024];
  14.                          int len=0;
  15.                            while((len=fis.read(buf))!=-1)
  16.                           {
  17.                                         fos.write(buf,0,len);
  18.                            }

  19.                         }catch(IOException e)
  20.                           {
  21.                                        throw new RuntimeException("复制文件失败");
  22.                           }
  23.                           finally
  24.                      {
  25.                                        try
  26.                                        {
  27.                                           if(fis!=null)
  28.                                                    fis.close();
  29.                                         }
  30.                                         catch(IOException e)
  31.                                         {throw new RuntimeException("读取关闭失败");}

  32.                                 try
  33.                                 {
  34.                                             if(fos!=null)
  35.                                               fos.close();
  36.                                 }
  37.                                catch(IOException e)
  38.                                  {throw new RuntimeException("写入文件失败");}
  39.             }
  40.         }
  41.     }
复制代码
提示 复制文件失败 异常      应该是try当中的错  但我仔细看了 没错啊    求大神帮忙分析。。。。。。

作者: qhasilver    时间: 2012-10-16 13:20
  1. package com.ban;
  2. import java.io.*;
  3. public class Copypic {

  4.         /**
  5.          * @param args
  6.          */
  7.         public static void main(String[] args) {
  8.                 // TODO Auto-generated method stub
  9.                 FileOutputStream fos=null;
  10.                 FileInputStream fis=null;
  11.                
  12.                 try {
  13.                         fos=new FileOutputStream("f:\\cp3.bmp");
  14.                         fis=new FileInputStream("f:\\ch.bmp");
  15.                         
  16.                         byte[] buf=new byte[1024];
  17.                         int len=0;
  18.                         while((len=fis.read(buf))!=-1)
  19.                         {
  20.                                 fos.write(buf,0,len);
  21.                         }
  22.                 } catch (IOException e) {
  23.                         // TODO: handle exception
  24.                         throw new RuntimeException("复制文件失败");
  25.                 }finally
  26.                 {
  27.                         try {
  28.                                 if(fis!=null)
  29.                                 fis.close();
  30.                         } catch (IOException e) {
  31.                                 // TODO: handle exception
  32.                                 throw new RuntimeException("读取文件失败");
  33.                         }
  34.                         
  35.                         try {
  36.                                 if(fos!=null)
  37.                                 fos.close();
  38.                         } catch (IOException e) {
  39.                                 // TODO: handle exception
  40.                                 throw new RuntimeException("写入文件失败");
  41.                         }
  42.                 }

  43.         }

  44. }
复制代码
这里应该是 while((len=fis.read(buf))!=-1) 漏了个减号
作者: 班志国    时间: 2012-10-16 16:57
qhasilver 发表于 2012-10-16 13:20
这里应该是 while((len=fis.read(buf))!=-1) 漏了个减号

不是这个问题 我电脑里的 有减号 这里 贴错了   
作者: 班志国    时间: 2012-10-16 16:57
班志国 发表于 2012-10-16 16:57
不是这个问题 我电脑里的 有减号 这里 贴错了

这回改了。。
作者: 戴进飘    时间: 2012-10-16 17:29
这是正常的代码,我能复制成功。
  1. import java.io.*;

  2. public class Demo4 {
  3.         public static void main(String[] args) {
  4.                 FileInputStream fis = null;
  5.                 FileOutputStream fos = null;

  6.                 try {
  7.                         fis = new FileInputStream("d:\\1.png");                                //读取字符流
  8.                         fos = new FileOutputStream("d:\\copy_1.png");                //输入字符流
  9.                         byte[] buf = new byte[1024];
  10.                         int len = 0;
  11.                         while ((len = fis.read(buf)) != -1) {
  12.                                 fos.write(buf, 0, len);
  13.                         }
  14.                         System.out.println("复制成功");

  15.                 } catch (IOException e) {
  16.                         throw new RuntimeException("复制文件失败");
  17.                 } finally {
  18.                         try {
  19.                                 if (fis != null)
  20.                                         fis.close();
  21.                         } catch (IOException e) {
  22.                                 throw new RuntimeException("读取关闭失败");
  23.                         }

  24.                         try {
  25.                                 if (fos != null)
  26.                                         fos.close();
  27.                         } catch (IOException e) {
  28.                                 throw new RuntimeException("写入文件失败");
  29.                         }
  30.                 }
  31.         }
  32. }
复制代码

作者: qhasilver    时间: 2012-10-16 17:48
班志国 发表于 2012-10-16 16:57
这回改了。。

被复制的文件应该是ch.bmp你看看你是不是搞反了。
作者: 王得新    时间: 2012-10-16 17:52
你的代码我没细看,我直接拷贝你的代码的,然后在F盘下放了和你代码中命名一样的图片,没问题啊!我想可能是你的图片命名的问题,以前遇到过,粗心导致的!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2