当前位置: 首页 > java >正文

头歌java课程实验(文件操作)

第1关:显示文件列表信息及文件内容

任务描述
本关任务:显示当前目录下的文件列表及当前目录下Hello.txt的文件内容

编程要求
(1)文件列表显示文件最后修改的日期
(2)对目录,显示<DIR>,对文件,显示文件大小
(3)先显示所有的目录信息,然后显示文件信息
(4)多个目录或文件的显示无需按日期排序
(5)具体的输出格式参考运行示例,仅供参考
提醒:将运行示例复制到记事本中可能看得更清晰。

运行示例
当前目录 C:\Users\Ldf\git\java22 的文件列表如下:
2024-05-12 15:50:29  <DIR>         .settings
2024-05-26 06:40:44  <DIR>         .git
2024-06-02 09:45:52  <DIR>         src
2024-06-11 09:33:52  <DIR>         bin
2024-03-21 06:17:22            15  .gitignore
2024-05-12 16:16:24           381  .project
2024-06-01 09:53:14           396  .classpath
2024-06-11 10:58:08            96  Hello.txt

文件 C:\Users\Ldf\git\java22\Hello.txt 的内容如下:
你好世界,我是 Hello.txt
我就是一个文本文件

测试说明
平台会对你编写的代码进行测试~

开始你的任务吧,祝你成功!

import java.io.*;
import java.nio.file.*;
import java.time.*;
import java.util.stream.Stream;
import java.util.*;
import java.time.format.DateTimeFormatter;
import java.time.Instant;
import java.time.ZoneId;public class Step1 {public static void main(String[] args) throws IOException  {File dir=new File(".");System.out.println("当前目录 "+dir.getCanonicalPath()+" 的文件列表如下:");//(1)----------编写代码实现文件列表功能-----------File[] files = dir.listFiles();if (files != null) {Stream.of(files).sorted(Comparator.comparing(File::isDirectory).reversed()).forEach(file -> {long lastModified = file.lastModified();LocalDateTime dateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(lastModified), ZoneId.systemDefault());DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String dateStr = formatter.format(dateTime);if (file.isDirectory()) {System.out.printf("%s  <DIR>         %s%n", dateStr, file.getName());} else {System.out.printf("%s  %12d  %s%n", dateStr, file.length(), file.getName());}});}File hello = new File("./Hello.txt");System.out.println("\n文件 "+hello.getCanonicalPath()+" 的内容如下:");//(2)----------显示文件内容-----------System.out.print(new String(Files.readAllBytes(hello.toPath())));}
}

http://www.xdnf.cn/news/3054.html

相关文章:

  • 【CF】Day46——Codeforces Round 967 (Div. 2) B
  • 2025年高级Java后端面试题:最新技术体系深度解析
  • java发送邮件
  • 运行不会存储上一次的命令;运行命令不保存历史记录
  • 算法备案类型解析:如何判断你的算法属于哪种类型?
  • conda添加新python版本环境,如何激活和销毁
  • 深入理解 Web Service:原理、组件与核心技术详解
  • c++ 内部类
  • linux使用亚马逊aws-sdk-cpp
  • 适合五一劳动节的SVG模版
  • C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 15)
  • Windows多网卡设置路由冲突的解决
  • 程序员如何用AI工具实现“快速验证原型”
  • Rational Rose显示工具栏及添加工具栏中想要的工具(小人图标,用例图标)
  • 浏览器限制了cookie数量怎么办
  • Educational Codeforces Round 178 (Rated for Div. 2)
  • 什么是单臂路由
  • 制作JDK17 arm64基础镜像,解决字体安装问题
  • 使用Python将大文件夹中的文件分成文件数量相等的小文件夹
  • AI编程工具“幻觉”风险与飞算JavaAl的破局之道
  • 【滑动窗口】最大连续1的个数|将x减到0的最小操作数
  • 消息处理机制 Handler、Looper 和 MessageQueue
  • DeepSeek 联手 Word,开启办公开挂模式
  • windows编译chromium环境配置官方文档说明
  • 信息系统项目管理工程师备考计算类真题讲解十一
  • 什么叫自媒体矩阵营销,多个账号ip关联如何处理
  • MapReduce的shuffle过程详解
  • IIC小记
  • ​Indira量化APP集成IAS 2.0服务器矩阵协议,正式更新上线苹果App Store
  • AI工具 Trae 创建java项目和配置运行环境完整示例