Ciao a tutti, ho un problema da risolvere, devo leggere un file .txt così organizzato:
; Nome
;; 0/1
;;; caso a
;;; caso b
;;; caso c
;;; caso d
; Nome2
;; 0/1
;;; caso a
;;; caso b
etc...
In pratica vorrei creare un array di oggetti in cui ciascun oggetto ha tre campi:
String Nome
Int Numero
String [] Casi
i " ; " li ho messi per rendere possibile l'identificazione del tipo di riga ( ovvero a quale campo (Nome,Numero o Casi) appartiene).
prima avevo un file organizzato così
nome:0
nome2:1
nome3:0
e operavo nel seguente modo:
e nel main:codice:public class Utente { private String nome; private int scelta; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public int getScelta() { return scelta; } public void setScelta(int scelta) { this.scelta = scelta; } }
ma ora, per problemi di spazio (dato che i "casi" possono essere molti)non posso scriverli sulla stessa riga ed effettuare un'ulteriore separazione con ad es. "::" ma ho bisogno di scriverli nel modo indicato all'inizio.Come devo modificare il codice? Grazie in anticipocodice:List<Utente> list =newArrayList<Utente>(); File file = new File("file.txt"); BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(file)); String line; while ((line = reader.readLine()) != null) { String[] myString = line.split(":"); Utente utente = new Utente(); utente.setNome(myString[0]); utente.setScelta(Integer.parseInt(myString[1])); list.add(utente); } } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } }

Rispondi quotando
