java实验:创建一个记事本管理器。要求如下: ①从键盘上输入1,在当前目录下创建文件iotest6.txt.②从键盘上输入2,将 E 盘iotest2.txt复制iotest3.txt. ③从键盘上输入3,修改 E 盘iotest3.txt文件的内容为"修改文件3内容". 4.从键盘上输入4,统计当前目录下文件的个数,并输出每 个文件的文件名,大小,最近修改时间。
时间: 2024-02-15 15:05:24 浏览: 74
好的,这是一个 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 方法获取当前目录下的文件列表,并遍历每个文件,输出文件名、大小和最近修改时间。
注意,在实际使用过程中,我们需要根据具体需求对这个记事本管理器进行进一步完善。例如,我们可能需要添加删除文件的功能,或者支持用户指定操作的文件路径等。
阅读全文