遍历指定目录下的所有文件和文件夹

  1. import java.io.File;
  2.  
  3. public class FileTest {
  4. public static void main(String[] args) {
  5. File dir1 = new File("F:\\韩顺平");//如果该指定的目录不存在会发生NullPointerException
  6.  
  7. List(dir1);
  8. }
  9. public static void List(File dir1) {
  10. String[] file = dir1.list();
  11. for(String files : file){
  12. System.out.println(files);
  13. }
  14. }
  15. }

需求:对指定目录进行所有内容的列出(包含子目录中的内容)也可以理解为深度遍历

  1. import java.io.File;
  2.  
  3. public class FileTest {
  4. public static void main(String[] args) {
  5. File dir1 = new File("F:\\韩顺平");//如果该指定的目录不存在会发生NullPointerException
  6.  
  7. ListAll(dir1);
  8. }
  9. //深度遍历
  10. public static void ListAll(File dir1) {
  11.  
  12. System.out.println("dir:"+dir1.getAbsolutePath());
  13.  
  14. //获取指定目录下当前的所有文件夹或者文件对象
  15. File[] files = dir1.listFiles();
  16. for (int i = 0; i < files.length; i++) {
  17. if(files[i].isDirectory()){
  18. ListAll(files[i]);
  19. }else{
  20. System.out.println("file:"+files[i].getAbsolutePath());
  21. }
  22. }
  23. }
  24. }

深度遍历列出层级目录:

  1. import java.io.File;
  2.  
  3. public class FileTest {
  4. public static void main(String[] args) {
  5. File dir1 = new File("F:\\韩顺平");//如果该指定的目录不存在会发生NullPointerException
  6.  
  7. ListAll(dir1,0);
  8. }
  9. //深度遍历
  10. public static void ListAll(File dir1,int level) {
  11.  
  12. System.out.println(getSpace(level)+dir1.getName());
  13. level++;
  14.  
  15. //获取指定目录下当前的所有文件夹或者文件对象
  16. File[] files = dir1.listFiles();
  17. for (int i = 0; i < files.length; i++) {
  18. if(files[i].isDirectory()){
  19. ListAll(files[i],level);
  20. }else{
  21. System.out.println(getSpace(level)+files[i].getName());
  22. }
  23. }
  24. }
  25. private static String getSpace(int level) {
  26. StringBuilder sb = new StringBuilder();
  27. for(int x = 0;x<level;x++){
  28. sb.append(" |");
  29. }
  30. return sb.toString();
  31. }
  32. }

File类_深度遍历文件夹_练习的更多相关文章

  1. java中File类应用:遍历文件夹下所有文件

    练习: 要求指定文件夹下的所有文件,包括子文件夹下的文件 代码: package 遍历文件夹所有文件; import java.io.File; public class Test { public ...

  2. ORACEL上传BLOB,深度遍历文件夹

    // uploadingDlg.cpp : 实现文件// #include "stdafx.h"#include "uploading.h"#include & ...

  3. java 深度遍历文件夹中的所有文件

    看标题就知道是什么意思了吧,所以就不多说了,直接贴代码: import java.io.*; public class files { private static void iterateFile( ...

  4. Java深度遍历文件夹(递归实现)

    package FileDemo; import java.io.File; public class DeepSearchDir { /** * @param args */ public stat ...

  5. Java File类应用:递归遍历文件夹和递归删除文件

    要求: 1)采用递归遍历文件夹下的所有文件,包括子文件夹下的文件 2)采用递归删除文件下的所有文件 注意: 以下递归删除文件的方法,只能删除文件,所有的文件夹都还会存在 若要删除正文文件夹,可以在递归 ...

  6. Java多线程遍历文件夹,广度遍历加多线程加深度遍历结合

    复习IO操作,突然想写一个小工具,统计一下电脑里面的Java代码量还有注释率,最开始随手写了一个递归算法,遍历文件夹,比较简单,而且代码层次清晰,相对易于理解,代码如下:(完整代码贴在最后面,前面是功 ...

  7. 写个批处理脚本来帮忙干活--遍历文件夹&字符串处理

    这次打算写几篇关于脚本方面的博客,主要是记录一下 Gradle 脚本和批处理脚本的一些写法,方便后续查阅. 前言 平常开发过程中,一些较为重复的手工性工作,如果能让脚本来帮忙处理,自然是最好的,刚好之 ...

  8. golang遍历文件夹

    golang遍历文件夹: func main() { //方式一 filepath.Walk("temp/", func (path string, info os.FileInf ...

  9. JAVA7遍历文件夹

    在JAVA7中提供了新的遍历文件的方法,比原有File类的递归遍历效率要好大约30%左右. 测试结果: 测试用的File类的递归,是经过对比测试几种方法,找出相对效率较好的来和JAVA7进行测试. 1 ...

随机推荐

  1. Netty精粹之轻量级内存池技术实现原理与应用

    摘要: 在Netty中,通常会有多个IO线程独立工作,基于NioEventLoop的实现,每个IO线程负责轮询单独的Selector实例来检索IO事件,当IO事件来临的时候,IO线程开始处理IO事件. ...

  2. Linux(CentOS6)系统安装Windows字体

    这里说个插曲,最近在linux(CentOS6)服务器上面发布了个Web项目,结果发现,有一处的汉字字体渲染不出来,显示的是“□□□□”.因为我的tomcat编码已经修改了URIEncoding为UT ...

  3. Java基础之循环语句、条件语句、switch case 语句

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  4. Hyperledger Fabric密码模块系列之BCCSP(三)

    fabric中通过工厂模式来生成bccsp实例,进而通过bccsp的接口来提供加密.解密.签名验证以及哈希等操作. fabric的factory工厂默认返回的bccsp实例是sw(也就是所有密码操作都 ...

  5. ASP.NET Core Identity 实战(2)——注册、登录、Claim

    上一篇文章(ASP.NET Core Identity Hands On(1)--Identity 初次体验)中,我们初识了Identity,并且详细分析了AspNetUsers用户存储表,这篇我们将 ...

  6. 设置实体类型中String类型的属性值为String.Empty

    /// <summary> /// 将String类型的属性值设置为String.Empty /// </summary> /// <typeparam name=&qu ...

  7. 具体CAS操作实现(无锁算法)

    具体CAS操作 上一篇讲述了CAS机制,这篇讲解CAS具体操作. 什么是悲观锁.乐观锁?在java语言里,总有一些名词看语义跟本不明白是啥玩意儿,也就总有部分面试官拿着这样的词来忽悠面试者,以此来找优 ...

  8. java-两个整数变量的交换-不需要定义第三方变量

    代码如下: class Example { public static void main(String[] args) { /* * 位异或运算符的特点 * ^的特点:一个数据对另一个数据位异或两次 ...

  9. pom.xml复制过来的代码报错-Maven expected START_TAG or END_TAG not TEXT (positionTEXT se

    场景 编译器:IDEA 在网上看一些小实例,跟着做的时候会复制pom.xml文件的代码来加载依赖包.首先需要确定你复制过来的代码本身是没有错的,在复制一些pom.xml文件代码时,有时候会报错.原因是 ...

  10. @RequestBody发送请求报400错误

    参数不使用@RequestBody 在使用Postman进行Post请求时,通常做法是填入key和value的值即可. 参数使用@RequestBody 使用@RequestBody注解时,在发送请求 ...