用java创建一个记事本管理器。要求如下: 1 从键盘上输入1,在当前目录下创建文件iotest6.txt. 2从键盘上输入2,将E盘iotest2.txt复制iotest3.txt. 3 从键盘上输入3,修改E盘iotest3.txt文件的内容为”修改文件3内容“. 从键盘上输入4,统计当前目录下文件的个数,并输出每个文件的文件名,大小,最近修改时间。
时间: 2024-02-15 14:05:49 浏览: 53
用java实现记事本
好的,我可以为您提供 Java 代码示例,实现记事本管理器的功能。代码如下:
```java
import java.io.*;
import java.nio.file.*;
import java.nio.file.attribute.*;
import java.text.*;
import java.util.*;
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 option = scanner.nextInt();
switch (option) {
case 1:
createFile();
break;
case 2:
copyFile();
break;
case 3:
modifyFile();
break;
case 4:
countFiles();
break;
default:
System.out.println("无效的选项");
break;
}
}
}
private static void createFile() {
try {
Path path = Paths.get("iotest6.txt");
Files.createFile(path);
System.out.println("文件创建成功");
} catch (IOException e) {
System.out.println("文件创建失败:" + e.getMessage());
}
}
private static void copyFile() {
Path source = Paths.get("E:\\iotest2.txt");
Path target = Paths.get("iotest3.txt");
try {
Files.copy(source, target, StandardCopyOption.REPLACE_EXISTING);
System.out.println("文件复制成功");
} catch (IOException e) {
System.out.println("文件复制失败:" + e.getMessage());
}
}
private static void modifyFile() {
Path path = Paths.get("E:\\iotest3.txt");
String content = "修改文件3内容";
try {
Files.write(path, content.getBytes(), StandardOpenOption.TRUNCATE_EXISTING);
System.out.println("文件修改成功");
} catch (IOException e) {
System.out.println("文件修改失败:" + e.getMessage());
}
}
private static void countFiles() {
try (DirectoryStream<Path> stream = Files.newDirectoryStream(Paths.get("."))) {
int count = 0;
for (Path path : stream) {
BasicFileAttributes attributes = Files.readAttributes(path, BasicFileAttributes.class);
String size = new DecimalFormat("#.##").format(attributes.size() / 1024.0) + " KB";
String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(attributes.lastModifiedTime().toMillis()));
System.out.printf("文件名:%s,大小:%s,最近修改时间:%s\n", path.getFileName(), size, time);
count++;
}
System.out.printf("当前目录下共有 %d 个文件\n", count);
} catch (IOException e) {
System.out.println("无法读取文件:" + e.getMessage());
}
}
}
```
希望对您有所帮助!
阅读全文