一、解决遍历问题

可以使用File类中的 listFile() 方法生成 File[]集合,然后通过循环对每个对象进行操作;

二、判断文件类型

可以使用File类中的 isDirectory() 和 isFile() 方法分别判断是目录还是文件,此步骤可以通过遍历实现。

三、显示最后修改时间

可以使用 File 类的 lastModified() 方法来显示,但这个方法返回的 long 类型,要用 Instant 类进行转换。

LocalDateTime dateTime = Instant.ofEpochMilli(files[i].lastModified()).
atZone(ZoneId.systemDefault()).toLocalDateTime();

如果要更美观一些,可以使用格式化进行处理

String strPattern = "yyyy-MM-dd HH:mm:ss";  //时间格式的规则
//格式化时间,这里的dateTime就是上面转换的
String date = dateTime.format(formatter);

四、显示文件大小

可以使用 File 类的 length() 方法来显示,但返回的是B单位,所以也要转换一下。

int size = (int) Math.ceil(files[i].length() / 1024.0) + "KB"

这里使用的是Math的向上取整 ceil() 方法,再转换为int类型,这就跟文件资源管理器一样了。

五、子目录和普通文件的个数

这个就直接判断是子目录还是普通文件,循环的时候顺便一起计数了;

六、解决输入问题

用户总是会输入一些奇奇怪怪的东西,这时候我们就要排除

1.可以使用 file.isDirectory() 来判断是不是一个目录,若不是再给予提示;

2.要消除头尾和中间的无效空格,可以使用 trim() 和 replace(" ","") 方法

3.用户可能要查询 根目录d:\ 和 d:当前目录,d:直接送入file 类使用,虽然不会报错,但是会出现小bug,彷佛file的方法失灵了。所以此时我们还要把输入的路径再处理成绝对路径:

file = file.getAbsoluteFile();  //获取输入的绝对路径,避免当前目录或根目录获取错误

附张图吧:

至于这个窗口,用FXML做的。

Java遍历指定目录或当前目录相关推荐

  1. Java 遍历指定目录下的所有目录

    使用File类的list方法遍历指定目录下的所有目录 完整代码 import java.io.*;class Main {public static void main(String[] args) ...

  2. java遍历指定目录下所有文件

    /*** @description 获取File的列,以供遍历* @param file 目录的File* @param temp 传入空的list* @return 返回File的List集合*/p ...

  3. Java 目录操作二(获取文件的上级目录、获取目录最后修改时间、打印目录结构、遍历指定目录下的所有目录)

    获取文件的上级目录 import java.io.File;public class Main {public static void main(String[] args) {File file = ...

  4. 【文件IO】Linux 文件操作(一) —— 遍历指定目录下的所有文件

    目录 一.访问目录相关函数 1.打开/访问目录 (opendir / fdopendir) 2.读取目录内容 (readdir) 3.关闭目录 (closedir) 二.遍历指定目录下的所有文件 一. ...

  5. Java实现指定目录下的文件查找

    Java实现指定目录下的文件查找 入门Java实现文件的查找功能较为简单,主要有以下两种: 1.给出文件名,查找目录及其子目录中是否存在 2.给出后缀名,查找目录及其子目录中相关的文件 题型一: 题目 ...

  6. php遍历指定目录中的内容2

    输出文件是否可读写,可执行,并同时输出创建时间,修改时间,访问时间 //2.遍历指定目录中的内容 if ($arr['file']) {$arrbyte = array("Byte" ...

  7. Ruby和SHELL中如何遍历指定目录的文件

    在工作中我们有在Ruby和SHELL中如何遍历指定目录的文件的需求,这个应该如何来实现呢?网上的方法也非常之多,我们可以拿来参考参考,如下边的traverse.rb文件内容所示: #!/usr/bin ...

  8. [Linux C]递归遍历指定目录下的子目录和文件

    /* 功能:演示了在Linux下利用C语言递归遍历指定目录下的子目录(不含隐藏目录)和文件 */ #include <stdio.h> #include <dirent.h> ...

  9. [Linux C]递归遍历指定目录,以目录树形式展示

    /* 功能:演示了利用C语言递归遍历指定目录下的子目录(不含隐藏目录)和文件,并以目录树形式展示! 其中编译命令为:gcc -o travel travel.c -std=c99 */ #includ ...

最新文章

  1. 面试官:为什么mysql不建议执行超过3表以上的多表关联查询?
  2. HttpClient的简单使用
  3. python位运算符_详细介绍Python语言中的按位运算符
  4. Transitions Among the Processor’s Operating Modes
  5. 让餐饮店生意火爆的三套方案
  6. vue 利用axios请求接口下载excel
  7. 1031 质量环(深层搜索演习)
  8. C# 获取CPU序列号、MAC地址、硬盘ID等系统信息
  9. 走进 Growth Hacker 的世界
  10. 【软件工程】软件需求说明书、概要设计说明书、详细设计说明书参考模板
  11. java剪刀石头布编程_Java如何编写石头剪子布游戏程序
  12. c++使用librdkafka kerberos认证
  13. Ubuntu18.04安装CAJViewer
  14. 阿卡迪亚大学计算机专业好考吗,普通高中学生如何考取阿卡迪亚大学?
  15. 搜索关键字高亮_SpringBoot+Mybatis-Plus+Elasticsearch 实现关键字搜索高亮展示
  16. 九宫格图片怎么操作?这里有你想要的方法
  17. sublime text3 镜像下载_Sublime Text 3
  18. openjudge 丛林中的路
  19. 第一次登上CSDN的博客
  20. 期刊勘误、关注和撤稿:科研作者该知道的信息(转载)

热门文章

  1. 谷歌翻译接口识别语言php,利用谷歌翻译接口实现网站多语言切换
  2. java字符动画badapple_学完IO 做了点小东西 控制台动画BadApple 感兴趣的进来~
  3. Stream之StreamwriterStreamReader
  4. 最小二乘估计矩阵形式的推导
  5. .net core集成cas统一身份认证
  6. 解决 Edge 浏览器 阻止下载
  7. 记录几个ubuntu无法开机的问题
  8. golang连接tapd rest api反序列化json数据获取bug信息
  9. GIS坐标系统(二):地理坐标
  10. jstree树插件checkbox的选中事件