La matrice è inizializzata con spazi, e dove c'è spazio (quindi una cella in cui non ho scritto) faccio scrivere '£', poi vado a capo.
codice:
//Salvataggio su file.txt
public void scrivi()
{
try
{
FileWriter out = new FileWriter (nomefile);
for(int i = 0; i < r; i++){
for(int j = 0; j < c; j++){
if(o[i][j] == " "){
out.write("£" + "\n");
}
else{
out.write(o[i][j].toString());
out.write("\n");
}
}
}
out.close();
}
catch (IOException ex){
ex.printStackTrace();
}
System.out.println("Salvataggio eseguito correttamente");
}
Ora carico con un buff.readLine(), che leggendo riga per riga, mi riepie una cella alla volta (almeno credo), poi copio il contenuto di questa matrice o[][] in quella dichiarata nel TableModel.
codice:
//Caricamento da file
public Object[][] leggi()
{
try
{ int i = 0;
int j = 0;
in = new FileReader(nomefile);
buff = new BufferedReader(in);
while(buff.readLine() != null){
if(buff.readLine() == "\n"){
j++;
if(j == c){
j = 0;
i++;
if(i == r)
return o;
}
}
o[i][j] = buff.readLine();
}
in.close();
}
catch (IOException ex){
ex.printStackTrace();
}
System.out.println("Caricamento eseguito correttamente");
return o;
}