问题

将一个文件夹下的文件(包括目录)以树形结构打印出来,等级目录要有标识

基本思路

1、参数合法性校验

2、如果是文件  当前属于第几层打印层级表示和文件名

3、如果是目录的   进入目录 当前是第几次目录 执行printDir(File file, String suff)方法

将目录下的文件或文件夹放入file[]数组中,分别进行判断是文件还是目录

如果是文件,当前属于第几层打印层级表示和文件名

如果是目录,进入目录,再次执行printDir(File file, String suff)方法

代码展示

import java.io.File;
import java.io.FileFilter;public class FileTest2 {public static void main(String[] args) {printTree("C:\\Users\\ccc\\Desktop\\IO流");}/*** 树形结构打印* @param filePath*/public static void printTree(String filePath) {/*** 1、参数合法性校验* 2、如果是文件  当前属于第几层打印层级表示和文件名* 3、如果是目录的   进入目录 当前是第几次目录*/File file = new File(filePath);if (!file.exists()) {//无效的路径System.out.println("无效的路径");return;}if (file.isFile()) {//文件System.out.println("|"+file.getName());} else {//目录printDir(file,"|-");}}private static void printDir(File file, String suff){System.out.println(suff+file.getAbsolutePath());File[] files = file.listFiles(new FileFilter() {@Overridepublic boolean accept(File pathname) {return !pathname.isHidden();}});for (File f:files) {if (f.isFile()) {System.out.println(suff+f.getName());} else {//目录printDir(f,suff+"-");}}}
}

运行结果

|-代表一级目录

|--代表二级目录

java-IO流-将文件夹以树形结构打印(打印文件夹目录)问题相关推荐

  1. Java io流---拷贝文件夹下的所有文件和目录

    Java io流-拷贝文件夹下的所有文件和目录 代码: package demo01;import java.io.*; import java.util.TreeMap;public class C ...

  2. java io流过滤流_JAVA io流 文件流 字节流 字符流 过滤流 缓冲流

    一.概念 1.1.按流向分类: 输入流: 程序可以从中读取数据的流. 输出流: 程序能向其中写入数据的流. 1.2.按数据传输单位分类: 字节流:以字节(8位二进制)为单位进行处理.主要用于读写诸如图 ...

  3. JAVA~~IO流和文件

    ​​​​​​​​ Io流的分类 有多种分类方式: 一种方式是按照流的方向进行分类: 以内存作为参照物, 往内存中去,叫做输入(Input).或者叫做读(Read). 从内存中出来,叫做输出(Outpu ...

  4. Java读取文件流用什么对象_使用Java IO流实现对文本文件的读写过程中,通常需要处理下列( )异常。_学小易找答案...

    [论述题]请根据第一次平时作业的选题,结合第二次课内容,自拟一个论文提纲. [单选题]在 switch ( expression )语句中, expression 的数据类型不能是 ( ) [单选题] ...

  5. java io流(字符流) 文件打开、读取文件、关闭文件

    java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*;public class Index{public stati ...

  6. java io流 教程_Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:指的是从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列 ...

  7. java io flush_《文件传输基础——Java IO流》,对其中flush方法的思考

    在学习了<文件传输基础--Java IO流> 课程后,发现自己对flush()方法的调用有很多疑惑.在查询资料和自己看源码以及动手试验之后发现有以下几个特点.如有误也请大家指正出来,一切为 ...

  8. java IO流(一)文件, InputStream,OutputStream,Reader,Writer

    JAVA IO流(一) (一) 文件 1.概念 文件就是保存数据的地方 文件流 文件在程序中是以流的形式来操作的. java程序(内存) <--------> 文件(磁盘) 输入,输出是针 ...

  9. java io流复制文件简单实例

    java io流复制文件简单实例 实例1: package com.io;import java.io.BufferedInputStream; import java.io.BufferedOutp ...

  10. java IO流读取保存图片文件

    java  IO流读取保存图片文件 package io; import java.io.BufferedInputStream; import java.io.BufferedOutputStrea ...

最新文章

  1. win7安装composer
  2. 让程序暂停几秒_如何构建一个简单的Python提醒应用程序
  3. jqgrid 编辑状态获取该单元格的元素的id 和操作该元素
  4. ArcGIS Python实现Modis NDVI批量化月最大合成
  5. rgba和hex之间转换
  6. 2019商业数据分析软件有哪些
  7. c语言自动插桩,静态插桩的方式来实现Hook Method
  8. 计算机网络ip地址计算广播地址,ip地址计算与子网划分的方法讲解
  9. [笔记分享] [Camera] 相机的flash led功能小结
  10. catia制作物料明细_CATIA课时:符合GB的物料清单模板设置视频教程_翼狐网
  11. win10怎么修改计算机用户名和密码,windows10系统如何更改开机密码
  12. 突然发现一款优化神器
  13. css 实现一个尖角_(转载) css实现小三角(尖角)
  14. The eighth of Word-Day
  15. Retrofit自定义CallAdapterFactory
  16. 埃尔米特插值及其代码
  17. http中url特殊字符转义及解决方法
  18. Java网页数据抓取实例
  19. Element Plus
  20. 华附计算机学神,【学习】时隔13年,华附两牛娃杀进奥数国家队,父母亲述学霸成长史!...

热门文章

  1. 单片机做计算机乘法,基于单片机实现的四则运算计算器.DOC
  2. (转)(异常分析) org.hibernate.MappingException: entity class not found
  3. DbVisualizer 8.0.11 出现乱码问题
  4. 利用 Python + Selenium 自动化快速截图
  5. 树与二叉树——由前序序列和中序序列确定一刻二叉树
  6. 2011深信服校园招聘笔试面试
  7. tensorflow-tf基础
  8. lattice fpga ddr3 读写控制
  9. 酒店管理系统-毕业设计
  10. 【环境配置】虚拟机中配置C++环境