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:
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;
}
}
e nel main:
codice:
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();
}
}
}
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 anticipo