织梦搭建企业网站,南京网站制作哪家专业,查询域名网站,企业策划书格式递归遍历目录
首先
先列出当前目录所包含的内容
File[] files currentDir.listFiles();if (files null || files.length 0) {// 若是空目录或非法目录, 则直接返回return;}
然后
遍历列出的文件, 分情况两种讨论 for (File f: files) {// 加个日志, 方便查看程序执行情…递归遍历目录
首先
先列出当前目录所包含的内容
File[] files currentDir.listFiles();if (files null || files.length 0) {// 若是空目录或非法目录, 则直接返回return;}
然后
遍历列出的文件, 分情况两种讨论 for (File f: files) {// 加个日志, 方便查看程序执行情况System.out.println(f.getAbsolutePath());if (f.isFile()) {// 如果当前文件是普通文件, 看看文件名是否包含了 word, 来决定是否删除dealFile(f, word);}else {// 如果当前文件时目录文件, 就递归执行 scanDirscanDir(f, word);}}
最后完整代码展示
private static Scanner scanner new Scanner(System.in);public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.println(请输入要搜索的根目录: );File rootPath new File(scanner.next()) ;System.out.println(请输入要删除的关键词:);String word scanner.next();if (!rootPath.isDirectory()) {System.out.println(您此时输入的路径不是合法目录!);return;}scanDir(rootPath, word);}public static void scanDir(File currentDir, String word) {File[] files currentDir.listFiles();if (files null || files.length 0) {return;}for (File f: files) {System.out.println(f.getAbsolutePath());if (f.isFile()) {dealFile(f, word);}else {scanDir(f, word);}}}private static void dealFile(File f, String word) {if (!f.getName().contains(word)) {System.out.println(未找到你所输入的关键字文件, 程序将结束!);return;}System.out.println(该文件是: f.getAbsolutePath() , 是否要确认删除? (Y/N));String choise scanner.next();if (choise.equals(Y) || choise.equals(y)) {f.delete();}}
普通文件复制
// 把文件 A 复制成 文件 B 的基本步骤就是: 先打开文件 A , 依次读取文件 A 的每个字节, 然后再写入文件 B 就可以
// 直接代码展示一下 public static void main(String[] args) throws IOException {Scanner s new Scanner(System.in);System.out.println(请输入要复制的文件路径: );String src s.next();File srcFile new File(src);if (!srcFile.isFile()) {System.out.println(您输入的源文件路径非法!);return;}System.out.println(请输入要复制的目标路径: );String dest s.next();File destFile new File(dest);if (!destFile.getParentFile().isDirectory()) {System.out.println(您输入的目标文件路径非法! );return;}try (InputStream inputStream new FileInputStream(srcFile);OutputStream outputStream new FileOutputStream(destFile)){while (true) {byte[] buffer new byte[20480];int n inputStream.read(buffer);System.out.printf(n %x , n);if (n -1) {System.out.println(读取到 eof, 循环结束);break;}outputStream.write(buffer,0,n);}}}