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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Cfan_yang 中级黑马   /  2014-12-28 20:16  /  567 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.io.*;
  2. class Test15
  3. {
  4.         public static void main(String args[]) throws IOException
  5.         {
  6.                 File src = new File("D:\\abc");
  7.                 File des = new File("E:\\");
  8.                 copy(src,des);
  9.         }
  10.         public static void copy(File src,File des) throws IOException
  11.         {
  12.                 File desto = new File(des,src.getName());
  13.                 desto.mkdir();
  14.                 File[] files = src.listFiles();
  15.                 for(File f:files)
  16.                 {
  17.                         if(f.isDirectory())
  18.                                 copy(f,desto);
  19.                         else
  20.                         {
  21.                                 FileInputStream fis = new FileInputStream(f);
  22.                                 File newfile = new File(desto,f.getName());
  23.                                 FileOutputStream fos = new FileOutputStream(newfile);
  24.                                 byte[] buf = new byte[1024];
  25.                                 int len;
  26.                                 System.out.println(fis.read());
  27.                                 while((len=fis.read(buf))!=-1)
  28.                                 {

  29.                                         fos.write(buf,0,len);
  30.                                 }
  31.                                 fis.close();
  32.                                 fos.close();
  33.                         }
  34.                 }
  35.         }
  36. }
复制代码
代码如图。
为何输入流读取到的是-1

评分

参与人数 1黑马币 +1 收起 理由
lwj123 + 1

查看全部评分

1 个回复

倒序浏览
因为是len是缓冲区的长度,长度不为负数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马