代码如下:

package com.lp.ecjtu.File.FileDeepList;

import java.io.File;

public class FileDeepList {

    /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File dir = new File("E:"+File.separator+"demodir");
showDirDeep(dir,0);
}
/**
* 深度遍历目录下面的内容,递归,包含子目录的内容
* @param dir
*/
public static void showDir(File dir){
File[] files = dir.listFiles();
for(int i=0;i<files.length;i++){
if(dir.exists()){
if(files[i].isDirectory()){//如果是文件夹,继续列出指定子文件夹的内容
showDir(files[i]);//使用递归
}else{
System.out.println(files[i].getName());//是文件
}
}
}
}
/**
* 深度遍历目录下面的内容,递归,包含子目录的内容,并且使得遍历的目录有层次,加个层次计数器,第几层就加几
* @param dir 目录或者文件
* @param level 深度遍历层次计数器
*/
public static void showDirDeep(File dir,int level){
if(!dir.exists()){
System.out.println("遍历的目录为空!");
}
System.out.println(getSpace(level)+dir.getName());
level++;
File[] files = dir.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){//如果是文件夹,继续列出指定子文件夹的内容
showDirDeep(files[i],level);//使用递归
}else{
System.out.println(getSpace(level)+files[i].getName());//是文件
}
}
}
/**
* 格式化层次
* @param level
* @return
*/
private static String getSpace(int level) {
// TODO Auto-generated method stub
StringBuilder sb = new StringBuilder();
for(int i=0;i<level;i++){//几层就拼几个字符
sb = sb.append("|--");
}
return sb.toString();
} }
 

java基础知识回顾之javaIO类--File类应用:递归深度遍历文件的更多相关文章

  1. java基础知识回顾之javaIO类--File类应用:过滤器接口FilenameFilter和FileFilter

    FilenameFilter和FileFilter都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码:通过使用File类中String[] list(FilenameFi ...

  2. java基础知识回顾之javaIO类--File类

    File类是对文件系统中文件以及目录(文件夹)进行封装的对象,可以通过面向对象的思想来操作文件和目录(文件夹).File类保存文件或目录的各种元素的信息,包括文件名,文件长度,最后修改日期,是否可读, ...

  3. java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中

    /** * File文件综合应用 * 需求:获取指定目录下面,指定扩展名的文件,将文件的绝对路径写到文本文件当中. *  * 思路:1.需要深度遍历.--递归 * 2.遍历的过程中过滤指定扩展名的文件 ...

  4. java基础知识回顾之javaIO类--File类应用:删除带内容的目录

    /** * 深度删除一个带内容的目录 * 原理:必须从里往外删除,需要深度遍历 * @author Administrator * */ public class FileDeleteList { / ...

  5. java基础知识回顾之javaIO类---FileWriter和FileReader

    FileWriter类的构造方法定义如下: 1.public FileWriter(File file)throws IOException 字符流的操作比字节流操作好在一点,就是可以直接输出字符串了 ...

  6. java基础知识回顾之javaIO类--RandomAccessFile类

    java.io 类 RandomAccessFile java.lang.Object java.io.RandomAccessFile1.该类不是IO流中的子类.2.该类既能读又能写.3.该对象内部 ...

  7. java基础知识回顾之javaIO类--java序列化和反序列化

    /** *  * 一:理解序列化反序列化及其应用 * 序列化:把堆内存的对象转化成字节流的过程. * 反序列化:把字节流序列恢复重构成对象的过程. * 对象的序列化的用途:1.把对象的字节序列持久化, ...

  8. java基础知识回顾之javaIO类总结

    java IO体系图 IO流的操作规律总结: 1,明确体系: 数据源:InputStream ,Reader 数据汇:OutputStream,Writer 2,明确数据:因为数据分两种:字节,字符. ...

  9. java基础知识回顾之javaIO类---BufferedInputStream和BufferedOutputStream

    MP3的复制过程: package com.lp.ecjtu; import java.io.BufferedInputStream; import java.io.BufferedOutputStr ...

随机推荐

  1. [大牛翻译系列]Hadoop(11)MapReduce 性能调优:诊断一般性能瓶颈

    6.2.4 任务一般性能问题 这部分将介绍那些对map和reduce任务都有影响的性能问题. 技术37 作业竞争和调度器限制 即便map任务和reduce任务都进行了调优,但整个作业仍然会因为环境原因 ...

  2. Oracle 动态视图6 V$PROCESS

    一.视图包含当前系统oracle运行的所有进程信息.常用于将session与进程(oracle进程,操作系统进程)之间建立联系. Column Datatype Description ADDR RA ...

  3. 1101. Quick Sort (25)

    There is a classical process named partition in the famous quick sort algorithm. In this process we ...

  4. Python默认模块 os和shutil 实用函数

    os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 ' ...

  5. spring多数据源配置

    项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此.多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源.例如在一个spring和hibernate的框架的 ...

  6. Linux之mount命令详解

    linux下挂载(mount)光盘映像文档.移动硬盘.U盘.Windows和NFS网络共享linux是个优秀的开放源码的操作系统,能够运行在大到巨型小到掌上型各类电脑系统上,随着linux系统的日渐成 ...

  7. Eclipse中查看JDK类库的源代码

    在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 “window”-> "Preferences" -> "Java" -> & ...

  8. phpcms v9后台登陆验证码无法显示,怎么取消验证码

    phpcms v9后台登陆验证码无法显示论坛里关于这个问题貌似一直没有解决,查看源代码后发现,关键一点是获取验证码的图片与全局变量SITE_URL相关,也就是网站的目录, 所以只要修改cache/co ...

  9. php文字水印和php图片水印实现代码(二种加水印方法)

    文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件.效果图如下: $dst_path = 'dst.jpg';//创建图片的实例$dst = imag ...

  10. 微软职位内部推荐-Senior Speech TTS

    微软近期Open的职位: Job Description: Responsibilities Do you want to change the way the world interacts wit ...