问题:从键盘接收一个路径,将这个路径下的所有文件和文件夹的名字按照层级打印。
例如:

monkey1024javaXXX.javaXXX.jpgphpXXX.phpreadme.txt

分析:获取路径File对象中的File数组
遍历数组,取得File对象
打印文件或文件夹的名字
如果是一个文件夹的话,使用递归重复上面的操作

代码:

package com.monkey1024.exercise;import java.io.File;
import java.util.Scanner;public class FileNames {//用来记录缩进的次数private static int count = 0;public static void main(String[] args) {File file = getFile();getFileNames(file);}//每次调用该方法时,说明进入到一个新的文件夹的内部,需要增加一个缩进private static void getFileNames(File file) {//获取路径File对象中的File数组File[] fileArray = file.listFiles();//遍历数组,取得File对象for(int i=0; i<fileArray.length; i++){//通过遍历count来控制打印几个缩进for(int j=0; j<count; j++){System.out.print("\t");}//打印文件或文件夹的名字
            System.out.println(fileArray[i]);//数组遍历完最后一个File对象时,说明当前文件夹已经遍历结束,需要做自减运算if(i == fileArray.length-1 && !fileArray[i].isDirectory()){count--;}//如果是一个文件夹的话,使用递归重复上面的操作if(fileArray[i].isDirectory()){count++;getFileNames(fileArray[i]);}}}//获取用户输入路径的File对象private static File getFile() {System.out.println("请输入一个文件夹路径:");Scanner sc = new Scanner(System.in);//获取用户输入的路径,用户输入的路径有可能是错误的,需要进行判断while(true){String input = sc.nextLine();File file = new File(input);if(!file.exists()){System.out.println("您输入的文件路径有误,请重新输入文件路径:");}else if(file.isFile()){//如果用户输入的路径是一个文件System.out.println("您输入的路径是一个文件,请输入一个文件夹的路径");}else{return file;}}}
}

转载于:https://www.cnblogs.com/zhuifeng-mayi/p/10145467.html

46、练习:输出指定目录下的所有文件名称相关推荐

  1. Java 输出指定目录下的所有文件

    使用 File 类的 list 方法来输出指定目录下的所有文件 完整代码 class Main {public static void main(String[] args) {File dir = ...

  2. [Linux C]列出指定目录下的所有文件(夹)

    在Linux下,用C语言实现列出指定目录下的所有文件和文件夹: #include <stdio.h> #include <dirent.h> #include <stdl ...

  3. linux 复制指定目录下的全部文件到另一个目录中,linux cp 文件夹

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. linux复制指定目录下的全部文件到另一个目录中 复制指定目录下的全部文件到另一个目录中 文件及目录 ...

  4. 将linux目录中的特定文件推送到手机_linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹...

    linux复制指定目录下的全部文件到另一个目录中 复制指定目录下的全部文件到另一个目录中 文件及目录的复制是经常要用到的.linux下进行复制的命令为cp. 假设复制源目录 为 dir1 ,目标目录为 ...

  5. Linux拓展之查找指定目录下的最大文件

    概述 有时候我们需要查找指定目录下的最大文件,通常说的指定目录包括该目录下的所有文件和子目录下的所有文件.如下是几种能查找最大文件的方法. 方法一 查找指定目录下的最大文件,但不包括所有子目录,只包括 ...

  6. python删除过期文件_Python删除指定目录下的过期文件的代码

    在代码过程中,将代码过程中比较常用的一些代码段做个备份,如下的代码是关于Python删除指定目录下的过期文件的代码,应该能对小伙伴也有帮助. import os import sys import t ...

  7. html复制文件到目录,复制指定目录下的全部文件到另一个目录中

    linux下文件的复制.移动与删除命令为:cp,mv,rm 复制指定目录下的全部文件到另一个目录中 假设复制源目录 为 dir1 ,目标目录为dir2.怎样才能将dir1下所有文件复制到dir2下了 ...

  8. 删除指定目录下的所有文件与更改文件扩展名

    删除指定目录下的所有文件 //删除指定目录下的所有文件private void button1_Click(object sender, EventArgs e){DeleteFilesAndFold ...

  9. php中如何判断目录是否存在文件_PHP判断指定目录下是否存在文件

    这篇文章介绍的内容是关于PHP判断指定目录下是否存在文件 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下/* 功能:判断某个目录下是否存在文件: 参数:$path -- 要进行判断的目 ...

最新文章

  1. .NET 即时通信,WebSocket服务端实例
  2. pytorch maxpool和卷积尺寸问题
  3. php8正式版发布,PHP 8.0 正式版发布,性能提升 10%
  4. ext js如何动态更改xtype_K8S ConfigMap 用于动态应用程序的实践
  5. python抖音github_使用 Python 下载抖音无水印视频
  6. 解决wordpress前后台非常卡的几个方法
  7. java连接数据库实现一个简单的登陆界面
  8. php 导出excel的三种方法
  9. MCSAMCP认证证书
  10. 用rhino做一个地球_2
  11. 单节2A锂电池充电芯片方案,PD和QC快充充电器5-12V输入
  12. lucas–kanade_Lucas-Kanade光流法 | 学步园
  13. 三国志战略版360区S4服务器合并信息,三国志战略版S3合区表 新赛季哪些服务器合区...
  14. 总结2018,规划2019
  15. 最适合程序员编程刷题的网站,你用过几个?
  16. 中国人寿财险java_中国人寿财险社会招聘笔试内容: 今天刚笔试完,蹭着记着赶紧写上来,以便大家以后参考;...
  17. python两张表对比不同_Python对比数据库两张表是否一致
  18. 进击高手【第四期】(bfs)
  19. 全面分析中国菜刀及隐藏后门
  20. 沙尘暴ppt计算机,沙尘暴课件.ppt

热门文章

  1. Django 进阶篇之 CSRF,COOIKE,SESSION
  2. poj1324Holedox Moving搜索
  3. 敏捷开发的相关学习文档路径
  4. 四、处理表单数据 (基础教程4)
  5. Java并发编程之volatile关键字
  6. shell脚本编写保存
  7. 如何区分数据科学家,数据工程师与数据分析师
  8. Java web后台插入数据库中文乱码问题解决
  9. nginx服务+LEMP搭建
  10. SQL高手篇:精典SQL FAQ收藏