public class FileUtils { public static List<Person> readFile(String filename) { // 接收一个文件名字符串,并读取一个文件,存储所有人员数据到一个Arraylist对象中 // 需要处理文件读取异常,并返回获取到的人员数组列表 // 完成该方法:TODO return null;// 当前返的是临时值,获取的人员数据集合修改返回值 } }
时间: 2024-02-21 14:00:05 浏览: 80
好的,下面是完整的代码:
```python
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class FileUtils {
public static List<Person> readFile(String filename) {
List<Person> personList = new ArrayList<>();
try {
FileReader fileReader = new FileReader(filename);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
String[] tokens = line.split(",");
if (tokens.length == 4) {
String id = tokens[0].trim();
String name = tokens[1].trim();
int age = Integer.parseInt(tokens[2].trim());
int reward = Integer.parseInt(tokens[3].trim());
Person person = new Person(id, name, age, reward);
personList.add(person);
}
}
bufferedReader.close();
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
return personList;
}
}
```
该方法用于读取一个文件,并将文件中的人员数据存储到一个ArrayList对象中,最后返回该对象。文件中每一行表示一个人员,其中包含ID、姓名、年龄和赏金等信息,各个信息之间使用逗号分隔。在读取文件时需要使用BufferedReader类,同时需要处理文件读取异常。在读取每一行数据时,需要使用split方法将其按逗号分隔,然后将各个信息解析出来,创建一个Person对象,并将其添加到ArrayList中。最终返回ArrayList对象。
阅读全文