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

 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. Maven_2 本地资源库 中央存储库

    CONF window7 本地资源库: 一般默认的地址:C:\Users\Administrator\.m2 也可以修改地址:在路径{M2_HOME}\conf\setting.xml,更新 loca ...

  2. Oracle添加定时任务

    1.创建存储过程 注:执行语句后,如果需要请添加commit 2.添加定时job,执行存储过程 declare job_delete number; begin dbms_job.submit( jo ...

  3. Badge

    The following plugin provides functionality available through Pipeline-compatible steps. Read more a ...

  4. net4log 日志管理

    使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能改变 ...

  5. 弱引用(WeakReference)

    在应用程序代码内实例化一个类或结构时,只要有代码引用它,就会形成强引用.这意味着垃圾回收器不会清理这样的对象使用的内存.但是如果当这个对象很大,并且不经常访问时,此时可以创建对象的弱引用,弱引用允许创 ...

  6. Ado.net和EF的区别

    ado.net EF作为微软的一个ORM框架,通过实体.关系型数据库表之间的映射,使开发人员可以通过操作表实体而间接的操作数据库,大大的提高了开发效率.这样一来,.net平台下,我们与底层数据库的交互 ...

  7. C#服务端判断客户端socket是否已断开的方法

    刚开始,用Socket类的Connected属性来实现,却发现行不通,connected只表示  是在上次 还是 操作时连接到远程主机.如果在这之后[连接的另一方]断开了,它还一直返回true, 除非 ...

  8. [日常] C语言中指针变量

    CPU 访问内存时需要的是地址,而不是变量名和函数名!变量名和函数名只是地址的一种助记符,当源文件被编译和链接成可执行程序后,它们都会被替换成地址.编译和链接过程的一项重要任务就是找到这些名称所对应的 ...

  9. css的一些细节

    1.中文符号居中效果 对于动态输出文字可以不用在意,某些页面可能会有类似提示文案的地方,用英文标点符号,对于居中效果比较友好. 2.元素的上下间距 布局的时候从上往下开始写页面,一般都是写下一个的元素 ...

  10. 基于Grafana的监控数据钻取功能应用实践

    互联网企业中,随着机器规模以及业务量的爆发式增长,监控数据逐渐成为一种大数据,对监控大数据的分析,包括数据采集.数据缓存.数据聚合分析.数据存储.数据展现等几个阶段.不同阶段有不同的解决方案及支撑工具 ...