JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件

package ioTest.io3;
import java.io.File;
/*
 * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 。
 * 并将文件夹和文件名称打印在控制台上面。并且要显示文件目录的层级
 * 注:运用了递归的算法。
 */
public class FileDemo3 {

	public static void main(String[] args) {
		File dir=new File("F:\\黑马学习日程\\");
		//File dir=new File("F:\\");
		//如果使用上述的盘符的根目录,会出现java.lang.NullPointerException
		//为什么?
		getAllFiles(dir,0);//0表示最顶层
	}
	//获取层级的方法
	public static String getLevel(int level)
	{
		//A mutable sequence of characters.
		StringBuilder sb=new StringBuilder();
		for(int l=0;l<level;l++)
		{
			sb.append("|--");
		}
		return sb.toString();
	}
	public static void getAllFiles(File dir,int level)
	{
		System.out.println(getLevel(level)+dir.getName());
		level++;
		File[] files=dir.listFiles();
		for(int i=0;i<files.length;i++)
		{
			if(files[i].isDirectory())
			{
				//这里面用了递归的算法
				getAllFiles(files[i],level);
			}
			else {
				System.out.println(getLevel(level)+files[i]);
			}
		}
	}
}

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件,布布扣,bubuko.com

时间: 2024-10-13 16:06:20

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件的相关文章

JAVA之File类-将指定目录下的所有java文件的绝对路径存储到文本文件中

/* * 将指定目录下的所有java文件的绝对路径存储到文本文件中 * 建立一个java列表. * 思路: * 1.对指定目录进行递归 * 2.获取递归过程所有的java文件的路径 * 3.将这些路径存储在集合中 * 4.将集合中的内容写到文本文件 * 注:3,4步骤也可以合并成一个步骤 */ package ioTest.io3; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; imp

JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。

package ioTest.io3; /* * 获取指定目录下的文件夹和文件的File对象或是字符串名称. * 也可以通过filter获取指定的文件夹或者指定类型的文件 * 这里面需要做一个总结,如何利用jdk的源码去理解不熟悉的方法的应用. */ import java.io.File; import java.io.FileFilter; import java.io.FilenameFilter; public class FileDemo2 { public static void m

JAVA之File类-删除一个有内容的文件夹

package ioTest.io3; /* * 删除有内容的文件夹:从最里面一直向外删除.建议千万不要删除硬盘上面有用的文件夹哦 * 方法思路 * 循环+递归 */ import java.io.File; public class RemoveDir { public static void main(String[] args) { // TODO Auto-generated method stub File file=new File("F:\\removeDirTest")

获取列表中某一个文件夹下的列表项集合(不包含子文件夹对象,也不包含子文件夹中的列表项)

RT,方法如下: 1 SPListItemCollection GetSubItemsWithoutFoldersInParrentFolder(SPFolder parrent) 2 { 3 SPList list = parrent.Item.ParentList; 4 SPQuery query = new SPQuery(); 5 query.Folder = parrent; 6 query.Query = "<Where><Eq><FieldRef Na

Android程序函数 将assets文件夹下的文件复制到手机的sd卡中(包括子文件夹)

最近在做个功能是将asset文件夹下的所有文件(包括子文件)全部拷贝出来到指定目录下.所用的方法无非是用AssetManager.但是这里有个问题是也要讲子文件夹和子文件都要拷贝出来.到网上Google了下,也到baidu搜索了下,发现了很多类似问题.但好像都有问题.显然只能做到将asset直接目录下的文件拷贝出来,但子文件夹拷贝不出来,而且,碰到文件夹,会抛异常.无奈自己只好动手写了个.如下: private void CopyAssets(String assetDir,String dir

Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例

1. 案例: 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名. 2. 案例代码如下: (1)思路是:先获取所有的文件和文件夹封装的对象,然后遍历的时候,依次判断,如果满足条件就输出. 1 package com.himi.filesdemo; 2 3 import java.io.File; 4 5 6 /** 7 * 判断F盘下是否有后缀名为.jpg的文件,如果有的话,就输出这个文件名 8 * @author hebao 9 * 10 */ 11 public class

Linux C 读取文件夹下所有文件(包括子文件夹)的文件名(转)

Linux C  下面读取文件夹要用到结构体struct dirent,在头#include <dirent.h>中,如下: 1 #include <dirent.h> 2 struct dirent 3 { 4 long d_ino; /* inode number 索引节点号 */ 5 off_t d_off; /* offset to this dirent 在目录文件中的偏移 */ 6 unsigned short d_reclen; /* length of this d

Java中递归的优缺点,Java写一个递归遍历目录下面的所有文件包括子文件夹里边的文件。

题目: 遍历出aaa文件夹下的文件 首先分析思路: 1.首先判断这个文件夹是否为文件,通过isFile()函数可以判断是否为文件. 2.然后通过isDirectory判断是否为目录. 3.如果是目录就使用递归遍历目录 代码如下: 1 import java.io.File; 2 3 public class ZuoYe { 4 public static void main(String[] args) { 5 //创建file对象 6 File f=new File("d://新建文件夹&qu

C#获取某一路径下的所有文件名信息(包括子文件夹)

贴代码了,这里使用的是C#控制台输出文件名到记事本中,文件名使用逗号隔开: using System; using System.IO; namespace ConsoleApplication1 { class Program { public static string FileName = ""; public static void Main(string[] args) { bool isContinute = true; WriteMessage("结束程序请输入