实现文件与目录的创建、顺序读写、随机读写等基本操作,对于读取不存在的文件进行 异常处理。在讲授完 JAVA 异常处理和输入输出后开设此实验。目的通过实验理解输入输出 流的基本概念和使用,文件与目录的基本操作java
时间: 2023-06-14 21:07:46 浏览: 62
好的,这是一个很好的实验,让学生们掌握文件和目录的基本操作,以及如何处理异常。下面是一些可能有用的代码示例。
1. 创建目录:
```java
File dir = new File("myDir");
if (!dir.exists()) {
if (dir.mkdir()) {
System.out.println("Directory created successfully!");
} else {
System.out.println("Failed to create directory!");
}
}
```
2. 创建文件:
```java
File file = new File("myDir/myFile.txt");
if (!file.exists()) {
try {
if (file.createNewFile()) {
System.out.println("File created successfully!");
} else {
System.out.println("Failed to create file!");
}
} catch (IOException e) {
System.out.println("An error occurred while creating the file: " + e.getMessage());
}
}
```
3. 顺序读写:
```java
File file = new File("myDir/myFile.txt");
try (FileWriter writer = new FileWriter(file)) {
writer.write("Hello, world!");
writer.write("This is a test.");
} catch (IOException e) {
System.out.println("An error occurred while writing to the file: " + e.getMessage());
}
try (FileReader reader = new FileReader(file)) {
int c;
while ((c = reader.read()) != -1) {
System.out.print((char) c);
}
} catch (IOException e) {
System.out.println("An error occurred while reading the file: " + e.getMessage());
}
```
4. 随机读写:
```java
RandomAccessFile file = new RandomAccessFile("myDir/myFile.txt", "rw");
file.seek(5); // move pointer to position 5
file.write("world".getBytes()); // overwrite "world" at position 5
file.seek(0); // move pointer to beginning of file
byte[] buffer = new byte[1024];
int bytesRead = file.read(buffer);
while (bytesRead != -1) {
System.out.print(new String(buffer, 0, bytesRead));
bytesRead = file.read(buffer);
}
```
5. 异常处理:
```java
try {
File file = new File("myDir/doesNotExist.txt");
FileReader reader = new FileReader(file);
// do something with the reader
} catch (FileNotFoundException e) {
System.out.println("The file does not exist!");
}
```