- import java.io.File;
- import java.util.Scanner;
- /**
- * 题目二:将某一盘符下只要是文件夹里有.java结尾的文件就输出它的绝对路径,注意是多级文件夹哦。
- *
- * @author 彭冲
- *
- */
- public class Test2
- {
- public static void main(String[] args)
- {
- System.out.println("请输入要扫描的盘符,格式:C:\\ ");
- Scanner sc = new Scanner(System.in);
- String path = sc.nextLine();
- File f = new File(path);//将输入的路径转为File对象传入函数list
- list(f);
- sc.close();
-
-
- }
- public static void list(File f)
- {
- File[] arr = null;
-
- if(f.isDirectory())//如果此File文件为文件夹,就将文件夹中文件存入File集合中。
- {
- arr = f.listFiles();
-
- }
- for(int x = 0; x <arr.length;x++)//将集合中元素再次判断
- {
- if(arr[x].isDirectory())//如果有文件夹文件,就递归回list函数,继续判断
- list(arr[x]);
- else if (arr[x].getName().endsWith(".java"))//如果不是文件夹,就判断后缀是不是java
- System.out.println(arr[x].getAbsolutePath());//是,则输出绝对路径
- }
-
- }
- }
复制代码
我这个是通过递归获取所有文件夹的路径。可以把输出路径那改成复制文件。大概意思就是这个了。
虽然我的这个,输入根目录名称会发生异常。。。给你提供个思路吧 |