我正在尝试将员工详细信息放在CSV文件中(以FirstName,LastName,DateOfBirth,SSN,Role,Salary,Zip,Phone的形式),薪水为int。唯一的问题是,每次我尝试实现此代码时:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
public class Driver {
//Delimiters used in the CSV file
private static final String COMMA_DELIMITER = ",";
public static void main(String args[])
{
BufferedReader br = null;
try
{
//Reading the csv file
br = new BufferedReader(new FileReader("data.csv"));
//Create List for holding Employee objects
List<Employee> empList = new ArrayList<Employee>();
String line = "";
//Read to skip the header
br.readLine();
//Reading from the second line
while ((line = br.readLine()) != null)
{
String[] employeeDetails = line.split(",");
//Save the employee details in Employee object
Employee emp = new Employee(employeeDetails[0],employeeDetails[1],
employeeDetails[2],
employeeDetails[3],
employeeDetails[4],
Integer.parseInt(employeeDetails[5]),
employeeDetails[6],
employeeDetails[7]);
empList.add(emp);
}
for(int i = 0;i<empList.size();i++){
System.out.println(empList);
}
}
catch(Exception ee)
{
ee.printStackTrace();
}
finally{
try{
br.close();
}
catch(IOException ie){
System.out.println("Error occured while closing the BufferedReader");
ie.printStackTrace();
}
}
}
}
我收到了NumbersFormatException错误。已经使用构造函数setter和getter创建了一个employee类。
我刚刚扫描了CSV。总有薪水是我困惑的根源。
答案 0 :(得分:0)
您需要确保: Integer.parseInt(employeeDetails [5])
不要失败。所以 employeeDetails [5] 必须是可以转换为int的String。
喜欢:“5”,“123”,“567”