已知给定文件”all_score.txt“(即下图左侧部分)是某班所有同学的成绩汇总,请用Java文件IO相关类读取all_score.txt中所有同学的成绩,并为每个同学在当前文件夹新建一个独
时间: 2024-06-15 13:08:09 浏览: 129
VC-redist.x86.exe
要读取文件并为每个同学创建一个独立的文件,你可以使用Java的文件IO相关类来实现。以下是一个示例代码,演示了如何读取all_score.txt文件中的成绩,并为每个同学创建一个独立的文件:
```java
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
try {
// 打开all_score.txt文件
File file = new File("all_score.txt");
Scanner scanner = new Scanner(file);
// 逐行读取文件内容
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] parts = line.split(" ");
// 获取学生姓名和成绩
String name = parts[0];
int score = Integer.parseInt(parts[1]);
// 创建学生的成绩文件
createScoreFile(name, score);
}
// 关闭文件
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
private static void createScoreFile(String name, int score) {
try {
// 创建学生的成绩文件
File file = new File(name + "_score.txt");
FileWriter writer = new FileWriter(file);
// 写入学生的成绩
writer.write("姓名:" + name + "\n");
writer.write("成绩:" + score + "\n");
// 关闭文件写入器
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码首先打开all_score.txt文件,并使用Scanner逐行读取文件内容。然后,对于每一行,它将学生的姓名和成绩提取出来,并调用createScoreFile方法创建一个以学生姓名命名的独立文件。createScoreFile方法会创建一个新的文件,并将学生的姓名和成绩写入文件中。
请注意,上述代码假设all_score.txt文件中的每一行都包含学生的姓名和成绩,以空格分隔。你可以根据实际情况进行修改。
阅读全文