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

时间: 2024-02-13 07:06:14 浏览: 22
好的,下面是Java实现记事本管理器的代码,按照您的要求实现了1、2、3、4四个功能: ```java import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.StandardCopyOption; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class NotepadManager { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (true) { System.out.println("请输入要执行的操作:"); System.out.println("1. 在当前目录下创建文件"); System.out.println("2. 将文件复制到当前目录下并重命名"); System.out.println("3. 修改文件内容"); System.out.println("4. 统计当前目录下的文件信息"); int choice = scanner.nextInt(); switch (choice) { case 1: createFile(); break; case 2: copyFile(); break; case 3: modifyFile(); break; case 4: countFile(); break; default: System.out.println("输入有误,请重新输入!"); break; } } } public static void createFile() { Scanner scanner = new Scanner(System.in); System.out.println("请输入要创建的文件名:"); String filename = scanner.nextLine(); File file = new File(filename); try { file.createNewFile(); System.out.println("文件创建成功!"); } catch (IOException e) { e.printStackTrace(); System.out.println("文件创建失败!"); } } public static void copyFile() { Scanner scanner = new Scanner(System.in); System.out.println("请输入源文件路径:"); String srcPath = scanner.nextLine(); File srcFile = new File(srcPath); if (!srcFile.exists()) { System.out.println("源文件不存在!"); return; } System.out.println("请输入目标文件名:"); String dstName = scanner.nextLine(); File dstFile = new File(dstName); try { Files.copy(srcFile.toPath(), dstFile.toPath(), StandardCopyOption.REPLACE_EXISTING); System.out.println("文件复制成功!"); } catch (IOException e) { e.printStackTrace(); System.out.println("文件复制失败!"); } } public static void modifyFile() { Scanner scanner = new Scanner(System.in); System.out.println("请输入要修改的文件名:"); String filename = scanner.nextLine(); File file = new File(filename); if (!file.exists()) { System.out.println("文件不存在!"); return; } System.out.println("请输入新的文件内容:"); String content = scanner.nextLine(); try { Files.write(file.toPath(), content.getBytes()); System.out.println("文件内容已修改!"); } catch (IOException e) { e.printStackTrace(); System.out.println("文件内容修改失败!"); } } public static void countFile() { File dir = new File("."); File[] files = dir.listFiles(); System.out.println("当前目录下的文件信息如下:"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (File file : files) { System.out.println(file.getName() + ",大小:" + file.length() + "字节,最近修改时间:" + sdf.format(new Date(file.lastModified()))); } } } ``` 实现思路如下: 1. 创建文件 使用`java.io.File`类的`createNewFile()`方法创建文件。 2. 复制文件 使用`java.nio.file.Files`类的`copy()`方法复制文件,其中`StandardCopyOption.REPLACE_EXISTING`表示如果目标文件已存在,则覆盖。 3. 修改文件内容 使用`java.nio.file.Files`类的`write()`方法修改文件内容。 4. 统计文件信息 使用`java.io.File`类的`listFiles()`方法获取当前目录下的所有文件,然后遍历所有文件,分别获取文件名、大小和最近修改时间。 希望这个Java实现能够帮助到您!

相关推荐

最新推荐

recommend-type

node-v5.2.0-linux-armv7l.tar.xz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

node-v4.4.0-linux-armv6l.tar.xz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

node-v5.9.1-darwin-x64.tar.xz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

node-v4.8.3-linux-armv6l.tar.xz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

paython作业,字典类型

paython作业,字典类型
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

list根据id查询pid 然后依次获取到所有的子节点数据

可以使用递归的方式来实现根据id查询pid并获取所有子节点数据。具体实现可以参考以下代码: ``` def get_children_nodes(nodes, parent_id): children = [] for node in nodes: if node['pid'] == parent_id: node['children'] = get_children_nodes(nodes, node['id']) children.append(node) return children # 测试数
recommend-type

JSBSim Reference Manual

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