如何在java中读取和加载带有这些字符的文件?

时间:2015-02-13 11:33:09

标签: java netbeans filereader

我有一个文件,在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();
            }

}

2 个答案:

答案 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]));