黑马程序员——ava——采用递归的方式来获取相关目录下的子目录的名称

采用递归的方式来获取相关目录下的子目录的名称

import java.io.File;

//采用递归的方式来获取D盘下myjava目录下的所有子目录的名称
public class FileListDemo
{

	public static void main(String[] args)
	{
		// 获取D盘下所有的文件目录的名称
		File  file = new File("E:\\myjava");
		//调用自定义方法来获取所有的文件夹目录
		listAll(file,0);

	}
	private static void listAll(File file, int i) {
		//
		System.out.println("获取文件系统启动");

		System.out.println(getLeves(i)+file.getAbsolutePath());

		i++;

		File[] files = file.listFiles();

		for(int x=0;x<files.length;x++)
		{
			if(files[x].isDirectory())
			{
				listAll(files[x],i);
			}
			System.out.println(getLeves(i)+files[x].getAbsolutePath());
		}

	}
	private static String getLeves(int i) {
			StringBuilder sb = new StringBuilder();

			for(int x=0;x<=i;x++)
			{
				if(x==i)
				  sb.append(x+" 级目录 "+"  ");
				sb.append("  ");
			}
		return sb.toString();
	}

}

运行程序:

时间: 2024-10-03 14:02:18

黑马程序员——ava——采用递归的方式来获取相关目录下的子目录的名称的相关文章

黑马程序员-File类+递归的简单应用

Java File类   Java.io.File Java文件类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等. File对象代表磁盘中实际存在的文件和目录.通过以下构造方法创建一个File对象. 通过给定的父抽象路径名和子路径名字符串创建一个新的File实例. File(File parent, String child); 通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例. File(String pathname) 根据 pa

黑马程序员----java基础---递归概述、递归和循环的区别

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.递归函数,通俗的说就是函数本身自己调用自己... 如:n!=n(n-1)! 你定义函数f(n)=nf(n-1) 而f(n-1)又是这个定义的函数..这就是递归 定义:程序调用自身的编程技巧称为递归( recursion). 递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小

黑马程序员——Java基础---递归

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流!                                                                       递归 Java支持递归. 递归是根据自身定义内容的过程.就java编程而言,递归是一个允许方法调用自身的特征. 调

黑马程序员----java基础----继承与多态,附相关面试题

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一:继承(掌握) (1)把多个类中相同的成员给提取出来定义到一个独立的类中.然后让这多个类和该独立的类产生一个关系, 这多个类就具备了这些内容.这个关系叫继承. (2)Java中如何表示继承呢?格式是什么呢? A:用关键字extends表示 B:格式: class 子类名 extends 父类名 {} (3)继承的好处: A:提高了代码的复用性 B:提高了代码的维护性 C:让类与类产生了一个关

黑马程序员----java基础---抽象类和接口,附相关面试题

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一:抽象类(掌握) (1)把多个共性的东西提取到一个类中,这是继承的做法. 但是呢,这多个共性的东西,在有些时候,方法声明一样,但是方法体. 也就是说,方法声明一样,但是每个具体的对象在具体实现的时候内容不一样. 所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体. 而一个没有具体的方法体的方法是抽象的方法. 在一个类中如果有抽象方法,该类必须定义为抽象类. (2)抽象类的特点 A:

黑马程序员--OC基础--NSFileManager用法深入

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- /* NSFileManager用法深入一 用于文件访问:获取文件.文件夹的属性和子目录的信息 */ 1 #import <Foundation/Foundation.h> 2 3 int main() { 4 @autore

黑马程序员_File类与递归

一.概述: 1.File类:在整个IO包中与文件本身有关的操作类,所有的与文件本身有关指的是创建.删除文件等操作.在java.io包中的File类本身是一个跨平台的文件操作类,所以在操作中要更多的考虑到各个操作系统的区别. 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作 3)File对象可以作为多数传递给流的构造函数 二.常用方法: File类 File 即指文件也指文件夹. File类构造方法和字段摘要 staticString pathSeparat

黑马程序员_关于黑马java班入学测试技术分享-后五(二)

??????????????????????????????????????????????????????????????????????????-----Java培训.Android培训.iOS培训..Net培训.期待与您交流! 作为本人首篇黑马技术博客有必要交代一下背景.个人理解博客的用作在于于己在于交流,于他在于学习,在交流学习中共同成长.下面进入正题.本文主要是介绍在做黑马入门测试时的一些问题(这个应该不是泄露题库吧). 本文只要是讲述黑马程序员基础测试题的6-10题,回过头来分析明显

黑马程序员——IO篇

------- android培训.java培训.期待与您交流! ---------- IO(Input Output)流 1.IO流用来处理设备之间的数据传输 2.Java对数据的操作是通过流的方式 3.Java用于操作流的对象都在IO包中 4.流按操作数据分为两种:字节流与字符流 . 字符流的数据字节流其实都能处理,因为无论什么在计算机上最后都是以字节存在的,但是其中有一部分数据它是以文本形式存在的,所以为了方便有了字符流,字符流里融合了编码表,而只有文字用到了编码表,所以字符流用来处理文本