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

头歌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())));}
}

相关文章:

  • UE5 Set actor Location和 Set World Location 和 Set Relative Location 的区别
  • SQL实战:03之SQL中的递归查询
  • 改进的山地无人机路径规划灰狼优化算法(I-GWO)
  • cmake:基础
  • WPF之TextBlock控件详解
  • docker拉取国内镜像
  • Spring中bean的生命周期(笔记)
  • UE调试相关
  • 入选ICLR 2025 Oral,清华AIR周浩团队提出蛋白质预训练新范式,解密蛋白质家族进化
  • 力扣面试150题--删除链表的倒数第 N 个结点
  • iOS签名的包支持推送功能吗?
  • 【东枫电子】AI-RAN:人工智能 - 无线接入网络
  • 国内外半导体行业在供应链数字化集成方式上的差异
  • 网络安全攻防演练实训室建设方案
  • GAEA商业前景和生态系统扩展
  • 蓝桥杯 11. 最大距离
  • 蓝桥杯 5. 拼数
  • 远程访问你的家庭NAS服务器:OpenMediaVault内网穿透配置教程
  • Kotlin和JavaScript的对比
  • INI配置文件格式详解与实战指南
  • 解密62个“千亿县”:强者恒强,新兴产业助新晋县崛起
  • “人工智能是年轻的事业,也是年轻人的事业”,沪上高校师生畅谈感想
  • 商超展销延长、专区专柜亮相……上海“外贸拓内销”商品与市民见面
  • 第一集丨《无尽的尽头》值得关注,《榜上佳婿》平平无奇
  • 文旅部:推动离境退税购物便利化有利于更多国内优质商品走出去
  • 上海2025年普通高等学校招生志愿填报与投档录取实施办法公布