当前位置: 代码迷 >> 综合 >> Java逐行读取文件信息为object并生成linked list?
  详细解决方案

Java逐行读取文件信息为object并生成linked list?

热度:25   发布时间:2024-02-24 22:58:39.0

1、输入一个文本文件,一行一条记录,有三个属性:id,name,salary,由逗号隔开;
2、逐行读取记录,将记录存放在SalariedEmployee对象中,所有记录存放于SalariedEmployeeList容器中,并提供根据name搜索记录的方法。

 

// 1.读取文本文件
SalariedEmployeeList employeeList = new SalariedEmployeeList();
try(BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream("your text file path")))) {String line = null;while ((line = br.readLine()) != null) {// line为空或者记录不够就略过if(line.isEmpty()) {continue;}String[] fields = line.split(",");if(fields.length() != 3) {continue;}SalariedEmployee employee = new SalariedEmployee(Integer.parseInt(fields[0],fields[1], Double.parseDouble(fields[2]);employeeList.add(employee);}
}// SalariedEmployeeList类
// 从题主问题描述中没有看到这个类的声明,大体理解题主想要的意思是这个类本身就是一个容器,
// 可以容纳SalariedEmployee对象,最后提供一个根据name来查询Employee的方法,因此我就直接
// 将SalariedEmployeeList继承LinkedList,这样实现起来最快。
public class SalariedEmployeeList extends LinkedList<SalariedEmployee> {// 其他代码省略...// 根据name进行SalariedEmployee查询public SalariedEmployee findByName(String name) {for(SalariedEmployee employee : this) {if(employee.getName().equals(name)) {return employee;}}// 没有找到返回nullreturn null;}
}

showtooltip整理