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实现能够帮助到您!