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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱辉 黑马帝   /  2012-3-3 11:18  /  2117 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. public class copyPic {
  3.         public static void main(String[] args)
  4.         {
  5.                 methodCopyPic();
  6.                
  7.                
  8.         }
  9.                 public static void methodCopyPic(){
  10.                 BufferedInputStream bufis = null;
  11.                 BufferedOutputStream bufos = null;
  12.                 try{
  13.                         bufis = new BufferedInputStream(new FileInputStream("c:\\abc.jpg"));
  14.                         bufos = new BufferedOutputStream(new FileOutputStream("D:\\copy.jpg"));
  15.                         int by = 0;
  16.                         if((by = bufis.read())!=-1){
  17.                                 bufos.write(by);
  18.                                 bufos.flush();
  19.                         }
  20.                 }
  21.                 catch(IOException e){
  22.                         throw new RuntimeException("pic拷贝失败");
  23.                 }
  24.                 finally{
  25.                         try{
  26.                                 if(bufis != null){
  27.                                         bufis.close();
  28.                                 }
  29.                         }
  30.                         catch(IOException e){
  31.                                 throw new RuntimeException("读关闭失败");
  32.                         }
  33.                         try{
  34.                                 if(bufos != null){
  35.                                         bufos.close();
  36.                                 }
  37.                         }
  38.                         catch(IOException e){
  39.                                 throw new RuntimeException("写关闭失败");
  40.                         }
  41.                 }
  42.                 System.out.println("拷贝成功");
  43.                
  44.                
  45.         }
  46. }
复制代码

编译通过,但是运行的时候复制出来的文件就只有1个字节,大家帮忙看一下是哪儿的问题

2 个回复

倒序浏览
if((by = bufis.read())!=-1){

17.                                bufos.write(by);

18.                                bufos.flush();

19.                        }

这个我猜你是疏忽了,用while循环啊,,,你一定是疏忽了,
回复 使用道具 举报
确实,多谢提醒了,确实是疏忽了,if只判断一次,看了半天都没照出来,多谢了{:soso_e183:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马