Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/01/2008, 07:00
KiaRa84
 
Fecha de Ingreso: enero-2008
Mensajes: 48
Antigüedad: 16 años, 4 meses
Puntos: 3
Error.Donde está?

A ver si encontrais el error.El código está bien,pero como veis hay varios System.out.println para ver si me cogía bien los datos.Me podeis decir porque
al terminar el método leerFichero me muestra bien el número de centros(modelo.getListaCentros().size()) pero en el método escribirFichero() sin embargo en el system k le hago me muestra un 0.Como puede ser si llamo a los dos uno detrás de otro(el 1º para importar y el 2º para guardar) y están en la misma clase?



public class EntradaSalida
{
ModeloPizarra modelo=new ModeloPizarra();

//PATRON FACHADA.CASO DE USO

@SuppressWarnings("empty-statement")
public static ModeloPizarra leerCoordenadas(File f)throws FileNotFoundException{
ModeloPizarra modelo = new ModeloPizarra();
try{
String linea;
FileReader libro = new FileReader(f);
BufferedReader lector = new BufferedReader (libro );
lector.readLine();//nos saltamos la primera linea en la que pone Centros
ArrayList<Poligono> listaPoligonos=new ArrayList<Poligono>();
//ArrayList<Poligono> listaPoligonos=modelo.getListaPoligonos();
linea=lector.readLine();
while(linea!=null && !linea.startsWith("Poligono") )
{
StringTokenizer st=new StringTokenizer(linea);
Punto p=new Punto(Integer.parseInt(st.nextToken()),Integer.par seInt(st.nextToken()), Aplicacion.getAplicacion().getPizarra().getColorNo rmal());
modelo.añadirCentro(p);
Poligono poli=new Poligono(p);
listaPoligonos.add(poli);
linea=lector.readLine();
}


int contador=-1;

while(linea!=null)
{
while(linea!=null && !linea.startsWith("Poligono"))
{
StringTokenizer st=new StringTokenizer(linea);

Punto p=new Punto(Integer.parseInt(st.nextToken()),Integer.par seInt(st.nextToken()),Aplicacion.getAplicacion().g etPizarra().getColorSelec());
Poligono poli;
if(contador>=listaPoligonos.size())
{
poli=new Poligono(null);
listaPoligonos.add(poli);
}
listaPoligonos.get(contador).addPunto(p);
modelo.getPuntos().add(p);
linea=lector.readLine();
}
contador++;
if(linea == null) break;
linea=lector.readLine();
}

libro.close();
modelo.setListaPoligonos(listaPoligonos);
System.out.println("el numero de centros es :"+modelo.getListaCentros().size());
System.out.println("el numero de poligonos es :"+modelo.getListaPoligonos().size());
System.out.println("el numero de puntos es :"+modelo.getPuntos().size());
System.out.println("el numero de puntos con metodos es :"+modelo.getNumPuntos());

}
catch(Exception e)
{
e.printStackTrace();
}
return modelo;
}


public void escribirFichero(File file)
{
ModeloPizarra modelo=new ModeloPizarra();
String cad,cad2;
int i=1;
int j;
try
{
System.out.println("Empezamos");
FileWriter fw= new FileWriter(file);
System.out.println("/********NUMERO DE CENTROS***********/" );

System.out.println("Centros"+" "+modelo.getListaCentros().size());

fw.write("Centros");

for(Punto centro : modelo.getListaCentros())
{
System.out.println("DEnto del for");
System.out.println(modelo.getListaCentros().size() );
cad=centro.getX()+" "+centro.getY();
fw.write(cad);
}
for(Poligono poli : modelo.getListaPoligonos())
{

fw.write("Poligono"+ i);
for(Punto p : modelo.getPuntos())
{
cad2=p.getX()+" "+p.getY();
fw.write(cad2);
}
i++;
}

fw.flush();
fw.close();
}
catch (IOException e)
{System.out.println("Error de escritura");}
}