用java创建一个记事本管理器。要求: 1.从键盘上输入1,在当前目录下创建文件iotest6.txt。 2.从键盘上输入2,将E盘iotest2.txt复制iotest3.txt。 3.从键盘上输入3,修改E盘iotest3.txt文件的内容为'修改文件3内容'。 4.从键盘上输入4,统计当前目录下文件个数,输出每个文件名,大小和最近修改时间。
时间: 2024-02-15 11:06:09 浏览: 63
好的,我可以帮你解答这个问题。以下是实现要求的Java代码:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
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("请输入数字选择操作:1.创建文件 2.复制文件 3.修改文件 4.统计文件");
int option = scanner.nextInt();
scanner.nextLine(); // 读取换行符
switch (option) {
case 1:
createFile();
break;
case 2:
copyFile();
break;
case 3:
modifyFile();
break;
case 4:
listFiles();
break;
default:
System.out.println("输入有误,请重新输入!");
break;
}
}
}
// 创建文件
private static void createFile() {
String fileName = "iotest6.txt";
File file = new File(fileName);
try {
if (file.createNewFile()) {
System.out.println("文件创建成功!");
} else {
System.out.println("该文件已存在!");
}
} catch (IOException e) {
System.out.println("文件创建失败!");
e.printStackTrace();
}
}
// 复制文件
private static void copyFile() {
String sourceFileName = "E:\\iotest2.txt";
String destFileName = "iotest3.txt";
File sourceFile = new File(sourceFileName);
File destFile = new File(destFileName);
try (FileInputStream fis = new FileInputStream(sourceFile);
FileOutputStream fos = new FileOutputStream(destFile)) {
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
System.out.println("文件复制成功!");
} catch (IOException e) {
System.out.println("文件复制失败!");
e.printStackTrace();
}
}
// 修改文件
private static void modifyFile() {
String fileName = "E:\\iotest3.txt";
File file = new File(fileName);
try (FileOutputStream fos = new FileOutputStream(file)) {
String content = "修改文件3内容";
fos.write(content.getBytes());
System.out.println("文件修改成功!");
} catch (IOException e) {
System.out.println("文件修改失败!");
e.printStackTrace();
}
}
// 统计文件
private static void listFiles() {
File[] files = new File(".").listFiles();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("当前目录下的文件个数为:" + files.length);
for (File file : files) {
String fileName = file.getName();
long fileSize = file.length();
Date lastModified = new Date(file.lastModified());
String lastModifiedDate = sdf.format(lastModified);
System.out.println("文件名:" + fileName + ",大小:" + fileSize + "字节,最近修改时间:" + lastModifiedDate);
}
}
}
```
希望这个代码可以帮到你!
阅读全文