Java使用递归找出某目录下的所有子目录以及子文件

 1 /*
 2     使用递归找出某目录("C:\\JavaProducts")下的所有子目录以及子文件
 3 */
 4
 5 import java.util.*;
 6 import java.io.*;
 7
 8 public class FileRecursionPrintDemo{
 9     public static void main(String[] args){
10         List<String> paths = new ArrayList<String>();
11         paths = getAllFilePaths(new File("C:\\JavaProducts"),paths);
12         for(String path:paths){
13             System.out.println(path);
14         }
15     }
16
17     private static List<String> getAllFilePaths(File filePath,List<String> filePaths){
18         File[] files = filePath.listFiles();
19         if(files == null){
20             return filePaths;
21         }
22         for(File f:files){
23             if(f.isDirectory()){
24                 filePaths.add(f.getPath());
25                 getAllFilePaths(f,filePaths);
26             }else{
27                 filePaths.add(f.getPath());
28             }
29         }
30         return filePaths;
31     }
32 }
时间: 2024-10-06 22:28:30

Java使用递归找出某目录下的所有子目录以及子文件的相关文章

找出指定目录下,大于指定大小的文件(LINUX SHELL)

当前目录下: find ./ -size +2048k |xargs du -b|awk '{print $1/1024/1024 "M" $2}'|sort -n ...... 2.53318M./images3545s_.jpg2.53318M./images607s_.jpg2.53318M./image26s_.jpg2.53318M./image2153654s_.jpg2.63534M./images58s_.JPG ........ 切忌的用法: find ./ -siz

通过java递归思想实现以树形方式展现出该目录中的所有子目录和文件

当初在开始接触Java时  学习File部分的一个小练习  挺有意思 一开始是通过看 北京圣思园 张龙老师的视频开始学校java的,必须强烈推荐,真很棒. 功能实现:主要实现以树形方式展现出该目录中的所有子目录和文件. 另外, 在展现的时候将目录排在上面,文件排在下面.每一层要加上缩进. 文件是jre6文件夹,我想这文件夹就不用我说什么了.换上自己的文件路径就可以了. [java] view plain copy import java.io.File; public class FileTes

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件

package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要显示文件目录的层级 * 注:运用了递归的算法. */ public class FileDemo3 { public static void main(String[] args) { File dir=new File("F:\\黑马学习日程\\"); //File dir=new Fi

Java版本的删除指定目录下名叫“xxx.txt”文件名的文件

以前写过一个python版本的,但是在查找文件路径的时候出现错误,无法正确的获取到文件的路径,就造成无法删除该路径下的“xxx.txt”文件. 当时以为是windows版本系统的错误造成这个问题的,也就没有继续深究,就把这个bug给放过了. 最近一段时间在学习android,肯定要用的java了,就用java实现了下,思路的话,肯定还是以前的了,结果还是出错,后来仔细的看了看代码,其实是自己的bug. 把代码贴下:(主要功能,删除指定目录下名叫"pylist.txt"的所有文件,使用递

JAVA之File类-将指定目录下的所有java文件的绝对路径存储到文本文件中

/* * 将指定目录下的所有java文件的绝对路径存储到文本文件中 * 建立一个java列表. * 思路: * 1.对指定目录进行递归 * 2.获取递归过程所有的java文件的路径 * 3.将这些路径存储在集合中 * 4.将集合中的内容写到文本文件 * 注:3,4步骤也可以合并成一个步骤 */ package ioTest.io3; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; imp

Java中用正则表达式找出数字

Java中用正则表达式找出数字 1.题目    String str = "fjd789klsd908434jk#$$%%^38488545",从中找出78990843438488545,请找到解决办法 2.实现源码 /** * */ package com.you.model; /** * @author YouHaidong * */ public class FindNumber { /** * 字符串str */ public static String str = "

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m

递归找出文件夹里面所有文件

//递归找出文件夹里面所有文件 public static void main(String[] args) { File f=new File("c://123"); findFile(f); } public static void findFile(File f){ File[] str=f.listFiles(); for (int i = 0; i < str.length; i++) { File file = str[i]; if(file.isDirectory(

采用递归方式查询某目录下的所有文件

private void DirPathAll(string dirpath) { //本目录下的文件 var paths = Directory.GetFiles(dirpath); foreach (var path in paths) { Application.DoEvents(); listBox1.Items.Add(path); } //所有子目录下的文件 var files = Directory.GetDirectories(dirpath); //获取所有子目录 foreac