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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我能复制2级文件夹,关键是2级下多级怎么复制,
这个要用递归,怎么个思路啊?

7 个回复

倒序浏览
复制其实就是重新创建
回复 使用道具 举报
  1. import java.io.File;
  2. import java.util.Scanner;

  3. /**
  4. * 题目二:将某一盘符下只要是文件夹里有.java结尾的文件就输出它的绝对路径,注意是多级文件夹哦。
  5. *
  6. * @author 彭冲
  7. *
  8. */

  9. public class Test2
  10. {
  11.         public static void main(String[] args)
  12.         {
  13.                 System.out.println("请输入要扫描的盘符,格式:C:\\ ");
  14.                 Scanner sc = new Scanner(System.in);
  15.                 String path = sc.nextLine();
  16.                 File f = new File(path);//将输入的路径转为File对象传入函数list
  17.                 list(f);
  18.                 sc.close();
  19.                
  20.                
  21.         }
  22.         public static void list(File f)
  23.         {
  24.                 File[] arr = null;
  25.                
  26.                 if(f.isDirectory())//如果此File文件为文件夹,就将文件夹中文件存入File集合中。
  27.                 {
  28.                         arr = f.listFiles();
  29.                         
  30.                 }
  31.                 for(int x = 0; x <arr.length;x++)//将集合中元素再次判断
  32.                 {
  33.                         if(arr[x].isDirectory())//如果有文件夹文件,就递归回list函数,继续判断
  34.                                 list(arr[x]);
  35.                         else if (arr[x].getName().endsWith(".java"))//如果不是文件夹,就判断后缀是不是java
  36.                         System.out.println(arr[x].getAbsolutePath());//是,则输出绝对路径
  37.                 }
  38.                
  39.         }
  40. }
复制代码


我这个是通过递归获取所有文件夹的路径。可以把输出路径那改成复制文件。大概意思就是这个了。

虽然我的这个,输入根目录名称会发生异常。。。给你提供个思路吧
回复 使用道具 举报
递归方法有里到外复制,
回复 使用道具 举报
递归配合IO流,其实要剪切更快
回复 使用道具 举报
感觉就是   复制内部文件 和创建目录两部分
复制文件都懂得 (制品里面有) 而创建 目录需要递归的方法  

创建目录   然后把文件复制到对应目录~~~~个人理解
回复 使用道具 举报
递归。。。。。。。。
回复 使用道具 举报
来学习学习  看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马