黑马程序员技术交流社区

标题: IO复制文件 [打印本页]

作者: Cfan_yang    时间: 2014-12-28 20:16
标题: IO复制文件
  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


作者: moka    时间: 2014-12-30 09:28
因为是len是缓冲区的长度,长度不为负数




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