java打印出某一指定路径下的文件夹内的所有子文件夹和文件,并区分开来

public class printoutFile {
    public static void main(String[] args) {
        printFile(new File("D:\\test"),1);
    }

    public static void printFile(File file,int sub) {
        if (file.isFile()) {
            System.out.println("您给定的是一个文件"); // 判断给定目录是否是一个合法的目录,如果不是,输出提示
        } else {
            File[] fileLists = file.listFiles(); // 如果是目录,获取该目录下的内容集合

            for (int i = 0; i < fileLists.length; i++) { // 循环遍历这个集合内容
                for (int j = 0; j < sub; j++) {        //输出缩进,为了在打印结果中区分开文件夹和文件
                    System.out.print("|---");
                }                

                System.out.println(fileLists[i].getName());    //输出元素名称                

                if (fileLists[i].isDirectory()) {    //判断元素是不是一个目录
                    printFile(fileLists[i],sub+1);    //如果是目录,继续调用本方法来输出其子目录,因为是其子目录,所以缩进次数 + 1
                }
            }
        }
    }
}

原文地址:https://www.cnblogs.com/blackdd/p/8781050.html

时间: 2024-10-14 10:37:09

java打印出某一指定路径下的文件夹内的所有子文件夹和文件,并区分开来的相关文章

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

获取指定路径下特定后缀的文件

# 获取指定路径下所有指定后缀的文件# dir 指定路径# ext 指定后缀,链表&不需要带点 或者不指定.例子:['xml', 'java']import osdef GetFileFromThisRootDir(dir,ext = None): allfiles = [] needExtFilter = (ext != None) for root,dirs,files in os.walk(dir): for filespath in files: filepath = os.path.j

Windows 定时删除指定路径下N天前的日志文件

Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 . @echo off set SrcDir=E:\WORK\Git set DaysAgo=5 forfiles /p %SrcDir% /s /m *.*/d -%DaysAgo% /c "cmd /c del /f /q /a @path" 2.删除指定路径下5天前的所有log文件 @echo off set SrcDir=E:\WORK\Git //指定的路径 :5天前 set DaysAgo=5 

删除指定路径下固定格式,以.log结尾、三天前的文件,或删除空的日志文件

师出‘百测’besttest 删除指定路径下固定格式,以.log结尾.三天前的文件,或删除空的日志文件. 日志文件格式:XXXX_2019-01-01.log. import os,datetime #判断文件是否为空,如果为空则删除 def del_file(file): with open(file,encoding='utf-8') as f: if f.read(): pass else: f.close() os.remove(file) #查找指定路径下xx结尾的文件 def sea

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

访问指定路径下的目录以及文件

#include "stdafx.h" //vs2010下运行通过 #undef UNICODE #include <stdio.h> #include <stdlib.h> #include <Windows.h> #include <iostream> using namespace std; void browseFile(char* path) { char pattern[FILENAME_MAX + 1]; sprintf(p

删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件

1 @echo off 2 ::删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. 3 ::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持 4 rem 指定待删除文件的存放路径 5 set SrcDir=D:\ajaxtrain\web 6 rem 指定天数 7 set DaysAgo=0 8 rem 要删除的文件通配 9 set searchmast=*.html 10 set filename=D:\ajaxtrain\web\deletefil

C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名

1.实现把指定文件夹下的所有文件复制到指定路径下 1 public static void copyFiles(string path) { 2 DirectoryInfo dir = new DirectoryInfo(path); 3 if (!dir.Exists) 4 return; //获得指定文件夹内的所有的子目录信息 5 DirectoryInfo[] dirs = dir.GetDirectories(); //获得指定文件夹内所有的文件信息 6 FileInfo[] files

拷贝一个目录或者文件到指定路径下

/** * 拷贝一个目录或者文件到指定路径下 * * @param source * @param target */ public static void copy(File source, File target) { File tarpath = new File(target, source.getName()); if (source.isDirectory()) { tarpath.mkdir(); File[] dir = source.listFiles(); for (int