如何读取Java文件

问题描述 投票:0回答:1

我正在用Java编写程序,我想读取一个名为“ medicos.txt”的文件。读取文件后,我想保存所有信息。问题是当程序开始读取文件时,我不知道为什么在函数中间转到另一个函数。这是我的代码:

List<Zona> listaZonas;
final String NOMBRE_FICHERO = "files/medicos.txt";
final String NOMBRE_FICHERO_DAT = "files/medicos2.dat";

public FicheroZonas() {
    listaZonas = leerClaseFichero();
    // leerClaseFichero();
}

public List<Zona> getListaZonas() {
    return listaZonas;
}


public List<Zona> leerClaseFichero() {
    String linea = " ";
    listaZonas = new ArrayList<>();
    Zona zona = null;

    try (BufferedReader in = new BufferedReader(new FileReader(NOMBRE_FICHERO))) {

        while ((linea = in.readLine()) != null) {
            zona = leerZona(linea);

            if (zona != null) {
                listaZonas.add(zona);
            }
        }
    } catch (FileNotFoundException e) {
        System.out.println("Fichero no encontrado");
    } catch (IOException e) {
        System.out.println("Error al leer el fichero");
    }
    return listaZonas;
}

private Zona leerZona(String linea) {
    String[] zonas = linea.split("[$]");
    List<Medico> listaMedicos = new ArrayList<>();
    String[] strMedicos = zonas[2].split("[%]");

    for (int i = 0; i < strMedicos.length; i++) {
        String datos[] = strMedicos[i].split("[&]");
        Medico medico = new Medico(datos[0],datos[1],datos[2]);
        listaMedicos.add(medico);
    }
    Zona zona = new Zona(zonas[0],listaMedicos);

    return zona;
}

在该代码中,执行“ String [] strMedicos = zonas [2] .split(” [%]“);”它去“” catch(IOException e){System.out.println(“ Error al leer el fichero”);}“,但它没有做到这一点。

此后,当我想这样做时:

    ficheroZonas = new FicheroZonas();

    listaZonas = ficheroZonas.getListaZonas();

    lZonas = new JList<>();

    for (int i = 0; i < listaZonas.size(); i++) {
        modeloZona.add(i, listaZonas.get(i));
    }

我不能这样做,因为“ listaZonas”为空。请掌舵我!

java file null syntax-error ioexception
1个回答
0
投票

/etc

    /Volumes/USB_STICK
  1. /bin/echo
  2. /System/Library/Desktop Pictures/Catalina Day.heic
  • 对于您的情况,您应该使用类似以下的内容:
  • final String NOMBRE_FICHERO = "/Users/<Your Name>/Desktop/Path/to/files/medicos.txt";
  • © www.soinside.com 2019 - 2024. All rights reserved.