2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到F盘下任意目录
package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; /* * 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到D盘下任意目录 */ public class Text2 { public static int num = 0; public static void main(String[] args) throws Exception { File file = new File("f:\\a"); getTxt(file); System.out.println("复制完成!"); System.out.println("txt文件的个数是:"+num); } public static void getTxt(File file) throws Exception { // 判断传入的文件是否存在 if (file.exists()) { File[] fileArr = file.listFiles(); for (File f : fileArr) { // 判断是否是文件夹 if (f.isDirectory()) { getTxt(f); } // 不是文件夹的话,判断是否是txt if (f.getName().endsWith("txt")) { num += 1; BufferedInputStream in = new BufferedInputStream(new FileInputStream(f)); BufferedOutputStream out = new BufferedOutputStream( new FileOutputStream(new File("f:\\c", f.getName()))); int len; while ((len = in.read()) != -1) { out.write(len); } in.close(); out.close(); } } } } }