当前位置: 首页 > 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())));}
}

http://www.dtcms.com/a/163875.html

相关文章:

  • 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配置文件格式详解与实战指南
  • 工程管理部绩效考核关键指标与项目评估
  • 力扣刷题总表
  • leetcode:3005. 最大频率元素计数(python3解法)
  • 百度「心响」:通用超级智能体,重新定义AI任务执行新范式
  • Python深度挖掘:openpyxl和pandas的使用详细
  • 万物皆可执行:多功能机器人正在定义新生产力法则
  • Redis入门到实战——基础篇
  • Linux 怎么安装 Oracle Java 8
  • 个人谈谈有些项目分web、service、dao、bean、utils多模块的看法
  • 分步详解:凤凰6000模拟器接入Unity Input System‌(