java实验:创建一个记事本管理器。要求如下: ①从键盘上输入1,在当前目录下创建文件iotest6.txt.②从键盘上输入2,将 E 盘iotest2.txt复制iotest3.txt. ③从键盘上输入3,修改 E 盘iotest3.txt文件的内容为"修改文件3内容". 4.从键盘上输入4,统计当前目录下文件的个数,并输出每 个文件的文件名,大小,最近修改时间。

时间: 2024-02-15 20:05:24 浏览: 24
好的,这是一个 Java 实验,让我们来逐步完成它。首先,我们需要使用 Java 的文件操作来实现这个记事本管理器。在 Java 中,我们可以使用 File 类来表示文件或目录,并使用其提供的方法来操作文件和目录。下面是实现这个记事本管理器的代码: ```java import java.io.*; import java.util.*; public class NoteManager { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (true) { System.out.println("请输入操作序号:1-创建文件,2-复制文件,3-修改文件内容,4-统计目录下文件信息,0-退出"); int op = scanner.nextInt(); switch (op) { case 1: createFile(); break; case 2: copyFile(); break; case 3: modifyFile(); break; case 4: listFiles(); break; case 0: System.exit(0); default: System.out.println("无效操作,请重新输入"); } } } // 创建文件 public static void createFile() { try { File file = new File("iotest6.txt"); if (file.createNewFile()) { System.out.println("文件创建成功"); } else { System.out.println("文件已存在"); } } catch (IOException e) { System.out.println("创建文件出错:" + e.getMessage()); } } // 复制文件 public static void copyFile() { File source = new File("E:/iotest2.txt"); File dest = new File("iotest3.txt"); try { FileInputStream fis = new FileInputStream(source); FileOutputStream fos = new FileOutputStream(dest); byte[] buffer = new byte[1024]; int len; while ((len = fis.read(buffer)) > 0) { fos.write(buffer, 0, len); } fis.close(); fos.close(); System.out.println("文件复制成功"); } catch (IOException e) { System.out.println("复制文件出错:" + e.getMessage()); } } // 修改文件内容 public static void modifyFile() { try { File file = new File("E:/iotest3.txt"); FileWriter writer = new FileWriter(file); writer.write("修改文件3内容"); writer.close(); System.out.println("文件内容修改成功"); } catch (IOException e) { System.out.println("修改文件内容出错:" + e.getMessage()); } } // 统计目录下文件信息 public static void listFiles() { File dir = new File("."); File[] files = dir.listFiles(); System.out.println("当前目录下共有文件 " + files.length + " 个:"); for (File file : files) { System.out.println("文件名:" + file.getName()); System.out.println("文件大小:" + file.length() + " 字节"); System.out.println("最近修改时间:" + new Date(file.lastModified())); } } } ``` 这个记事本管理器由一个 while 循环控制,根据用户输入的操作序号来执行相应的操作。createFile、copyFile、modifyFile 和 listFiles 分别对应了创建文件、复制文件、修改文件内容和统计目录下文件信息这四个操作。 在 createFile 操作中,我们使用 File 类的 createNewFile 方法来创建文件。如果文件已经存在,则返回 false。 在 copyFile 操作中,我们将 E 盘上的 iotest2.txt 文件复制到当前目录下的 iotest3.txt 文件。我们使用 FileInputStream 和 FileOutputStream 来读取和写入文件。我们使用一个 byte 数组作为缓存,每次读取 1024 个字节并写入目标文件中。读取和写入完成后,我们关闭 FileInputStream 和 FileOutputStream。 在 modifyFile 操作中,我们使用 FileWriter 来写入文件。我们先获取 E 盘上的 iotest3.txt 文件并创建 FileWriter 对象,然后使用 write 方法写入新的内容。最后,我们关闭 FileWriter。 在 listFiles 操作中,我们使用 File 类的 listFiles 方法获取当前目录下的文件列表,并遍历每个文件,输出文件名、大小和最近修改时间。 注意,在实际使用过程中,我们需要根据具体需求对这个记事本管理器进行进一步完善。例如,我们可能需要添加删除文件的功能,或者支持用户指定操作的文件路径等。

相关推荐

最新推荐

recommend-type

用 Windows “记事本”创建一个文本文件,其中每行包含一段英文,试读出文件的全部内容,并判断:(1)该文本文件共有多少行?(2)文件中以大写字母P开头的有多少行?(3)一行包含字

(1)创建一个 “Englishe.txt” 文件内容我在百度上寻找作文并加以修改。 (2)按照题目要求完成(1)(2)小问。 (3)第三问用每行遍历字符数的方法得出每行的字符数,并将字符数存入数组当中选取最大数及最小数...
recommend-type

JAVA简单记事本程序设计实验报告(带源码)

JAVA简单记事本程序设计实验报告(带源码) ...4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项 文件 新建、打开、保存、退出 编辑 剪切、拷贝、粘贴、查找 帮助 关于 5.实现文件和编辑菜单里的功能
recommend-type

基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码(高分优秀项目)

基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C/C++开发的单目控制机械臂的上位机程序+视觉识别和关节角反解+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~
recommend-type

setuptools-68.2.1-py3-none-any.whl

Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
recommend-type

springboot 学生信息管理系统.zip

学生管理系统是一个典型的基于 Spring Boot 的应用程序,旨在帮助学校、教育机构或培训机构管理学生信息、课程安排、成绩等。下面我将介绍一个简单的学生管理系统的设计和实现,基于 Spring Boot 框架。 功能特点 学生信息管理 添加、编辑、删除学生信息。 查询学生信息,支持按姓名、学号等条件查询。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。