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

 import java.io.File;

 public class FileTest {
public static void main(String[] args) {
File dir1 = new File("F:\\韩顺平");//如果该指定的目录不存在会发生NullPointerException List(dir1);
}
public static void List(File dir1) {
String[] file = dir1.list();
for(String files : file){
System.out.println(files);
}
}
}

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

import java.io.File;

public class FileTest {
public static void main(String[] args) {
File dir1 = new File("F:\\韩顺平");//如果该指定的目录不存在会发生NullPointerException ListAll(dir1);
}
//深度遍历
public static void ListAll(File dir1) { System.out.println("dir:"+dir1.getAbsolutePath()); //获取指定目录下当前的所有文件夹或者文件对象
File[] files = dir1.listFiles();
for (int i = 0; i < files.length; i++) {
if(files[i].isDirectory()){
ListAll(files[i]);
}else{
System.out.println("file:"+files[i].getAbsolutePath());
}
}
}
}

深度遍历列出层级目录:

import java.io.File;

public class FileTest {
public static void main(String[] args) {
File dir1 = new File("F:\\韩顺平");//如果该指定的目录不存在会发生NullPointerException ListAll(dir1,0);
}
//深度遍历
public static void ListAll(File dir1,int level) { System.out.println(getSpace(level)+dir1.getName());
level++; //获取指定目录下当前的所有文件夹或者文件对象
File[] files = dir1.listFiles();
for (int i = 0; i < files.length; i++) {
if(files[i].isDirectory()){
ListAll(files[i],level);
}else{
System.out.println(getSpace(level)+files[i].getName());
}
}
}
private static String getSpace(int level) {
StringBuilder sb = new StringBuilder();
for(int x = 0;x<level;x++){
sb.append(" |");
}
return sb.toString();
}
}

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. Django 学习笔记(一) --- Hello Django

    人生苦短 ~ Tips:仅适用于 Python 3+(反正差别不大,py2 改改也能用).因为据 Python 之父 Guido van Rossum 说会在 2020 年停止对 Python 2 的 ...

  2. netty源码解解析(4.0)-11 Channel NIO实现-概览

      结构设计 Channel的NIO实现位于io.netty.channel.nio包和io.netty.channel.socket.nio包中,其中io.netty.channel.nio是抽象实 ...

  3. /proc文件系统 - 汇总

    0. /proc目录简介 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制. proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间 ...

  4. dotnet core 编程规范

    本文实际只是翻译 .NET Core foundational libraries 官方文档的编码风格 在 .NET Core foundational libraries项目使用的编程规范默认就是 ...

  5. session持久化到sqlserver

    每次想使用都会忘记单词,所幸记录下来.简单步骤记录. 第一步:找到cmd目录 输入:cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 进入该目录. 第二 ...

  6. CSS如何让不相等的字符上下对齐

    最后效果: <div class="main"> <span style="font-size:12px;"><dl class= ...

  7. C#多线程——同步

    多个线程(不仅仅局限于相同进程)如果需要访问相同的可变资源的话就可能需要考虑到线程同步的手段.CPU的线程和进程管控我这里就不去说了,计算机组成原理里面的东西 那么既然要让线程的步调一致,那么我们首先 ...

  8. git下载、安装、连接github

    0.下载git 官网下载速度慢,下载不下来阿里云下载地址:https://npm.taobao.org/mirrors/git-for-windows/ 1.安装git linux:在命令行直接输入: ...

  9. BigDecimal常被忽略的问题

    一:相除精度丢失的问题 BigDecimal的api除法相对加减乘要实现的复杂多了,只介绍常用的我遇到的问题: 问题:两数相除,如果9/3=3整除没问题,但是10/3=0.33333333...... ...

  10. g4e基础篇#1 为什么要使用版本控制系统

    g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...