我有一个文件,在empleados.txt中有这个信息 " x002;彼得; Tor; 1200.0; 1992/4/4" 没有引号
只有当文件在里面时才能读取文件" ; "如果我有" /"我没有阅读
THX
public void ReadFile(String nameFile) {
FileReader file;
BufferedReader reader = null;
String line;
try {
fichero = new FileReader(nombreFichero);
lector = new BufferedReader(fichero);
while ((linea = lector.readLine()) != null ) {
Employee temporalEmployee = new Employee();
GregorianCalendar calTemporal = new GregorianCalendar();
String[] temp = linea.split(";");
ns.setDni(temp[0]);
ns.setName(temp[1]);
ns.setlastName(temp[2]);
ns.setsalary((Float.parseFloat(temp[3])));
calTemporal.add(Calendar.YEAR, Integer.parseInt(temp[4]));
calTemporal.add(Calendar.MONTH, Integer.parseInt(temp[5]));
calTemporal.add(Calendar.DAY_OF_WEEK, Integer.parseInt(temp[6]));
ns.setDateOfHire(calTemporal);
System.out.println(linea);
ArraylistOfEmployee.add(ns);
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if (lector != null) {
lector.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
你应该替换它:
calTemporal.add(Calendar.YEAR, Integer.parseInt(temp[4]));
calTemporal.add(Calendar.MONTH, Integer.parseInt(temp[5]));
calTemporal.add(Calendar.DAY_OF_WEEK, Integer.parseInt(temp[6]));
---对此---
String[] temp2 = temp[4].split("/");
calTemporal.add(Calendar.YEAR, Integer.parseInt(temp2[0]));
calTemporal.add(Calendar.MONTH, Integer.parseInt(temp2[1]));
calTemporal.add(Calendar.DAY_OF_WEEK, Integer.parseInt(temp2[2]));
答案 1 :(得分:0)
您可以将SimpleDateFormat用于日期位而不是将其分解。您当前的拆分会将所有日期保留为单个字段。
这样的事情:
SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd")
Date dateResult = format.parse(temp[4]));