Java 异常捕获:读取员工信息并存储到 Map 集合
Java 异常捕获:读取员工信息并存储到 Map 集合
本示例演示了如何使用 Java 异常捕获机制读取 emp.txt 文件,将员工信息存储到 Map 集合中,并根据用户输入的员工姓名查找并输出员工信息。
代码示例:
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Map<String, Emp> map = new HashMap<>();
try (BufferedReader br = new BufferedReader(new FileReader("emp.txt"))) {
String line;
while ((line = br.readLine()) != null) {
String[] arr = line.split(",");
Emp emp = new Emp(arr[0], Integer.parseInt(arr[1]), arr[2], Double.parseDouble(arr[3]));
map.put(emp.getName(), emp);
}
} catch (Exception e) {
e.printStackTrace();
}
Scanner scanner = new Scanner(System.in);
System.out.println("请输入员工名字:");
String name = scanner.nextLine();
Emp emp = map.get(name.toLowerCase());
if (emp != null) {
System.out.println(emp);
} else {
System.out.println('查无此人');
}
}
}
代码功能:
- 读取
emp.txt文件,每行代表一个员工信息,信息格式为:姓名,年龄,部门,薪资 - 使用
BufferedReader读取文件内容,并使用split()方法将每行信息分割成字符串数组 - 创建
Emp实例,将员工信息存储到Emp实例中 - 使用
HashMap将员工姓名作为key,Emp实例作为value存储到Map集合中 - 接收用户输入的员工姓名,并使用
toLowerCase()将输入的姓名转换为小写 - 使用
Map集合的get()方法获取对应员工信息的Emp实例 - 如果获取到
Emp实例,则输出该员工的信息;否则输出 '查无此人'
说明:
Emp类未在代码示例中给出,请根据实际需求创建Emp类并实现toString()方法- 确保
emp.txt文件存在于程序运行目录下 - 代码示例中使用了
try-with-resources语法,自动关闭BufferedReader资源 - 代码示例使用了
toLowerCase()方法将输入的姓名转换为小写,避免大小写敏感问题
原文地址: https://www.cveoy.top/t/topic/oGlM 著作权归作者所有。请勿转载和采集!