package ficherosenlazadosequipo;
import ja.io.BufferedReader; import ja.io.BufferedWriter; import ja.io.File; import ja.io.FileReader; import ja.io.FileWriter; import ja.io.IOException; import ja.util.ArrayList; import ja.util.Iterator; import ja.util.StringTokenizer;
public class GestionArchivos2 { public static String NOMBRE_ARCHIVO = "equipos.csv"; public static ArrayList leer(){ ArrayList equipos = new ArrayList(); try{ FileReader f = new FileReader(NOMBRE_ARCHIVO); BufferedReader entrada = new BufferedReader(f); String Linea; while((Linea = entrada.readLine()) != null){ Equipo e = new Equipo(); StringTokenizer st = new StringTokenizer(Linea, ";"); e.setNombre(st.nextToken()); equipos.add(e); } entrada.close(); f.close(); } catch(Exception e){ System.out.println("No se ha podido leer el archivo " + NOMBRE_ARCHIVO); e.printStackTrace(); } return equipos; } public static void leerEquipos(ArrayList equipos){ try{ for(Equipo equipoActual : equipos){ GestionArchivos2.leerJugadores(equipoActual); } } catch(Exception e){ System.out.println("No se ha podido leer el archivo " + NOMBRE_ARCHIVO); e.printStackTrace(); } } public static void leerJugadores(Equipo equipo){ ArrayList jugadores = new ArrayList(); String Filename = equipo.getNombre().replace(" ", "_").concat(".csv"); try{ FileReader f = new FileReader(Filename); BufferedReader entrada = new BufferedReader(f); String Linea; while((Linea = entrada.readLine()) != null){ Jugador j = new Jugador(); StringTokenizer st = new StringTokenizer(Linea, ";"); j.setNombre(st.nextToken()); jugadores.add(j); entrada.close(); f.close(); equipo.setJugadores(jugadores); } } catch(Exception e){ System.out.println("No se ha podido leer el archivo " + Filename); e.printStackTrace(); } } public static void guardarEquipos(ArrayList equipos){ File f = new File(NOMBRE_ARCHIVO); if(f.exists()){ f.delete(); } FileWriter flujoSalida = null; BufferedWriter Salida = null; try{
flujoSalida = new FileWriter(f); Salida = new BufferedWriter(flujoSalida);
Iterator i = equipos.iterator(); Equipo e;
while(i.hasNext()){
e = i.next(); String nombre = e.getNombre(); Salida.write(nombre); Salida.write(";"); Salida.newLine(); GestionArchivos2.guardarJugadores(e); } }
catch(IOException e){ System.err.println("Error de escritura"); } finally{ try{ Salida.close(); flujoSalida.close(); } catch(IOException e){ System.out.println("Problemas cerrando el fichero en la escritura"); } } } public static void guardarJugadores(Equipo e){ ArrayList jugadores = e.getJugadores(); String filename = e.getNombre().replace(" ", "_").concat(".csv"); File f = new File(filename); if(f.exists()){ f.delete(); } FileWriter flujoSalida = null; BufferedWriter Salida = null; try{ flujoSalida = new FileWriter(f); Salida = new BufferedWriter(flujoSalida); Iterator i = jugadores.iterator(); Jugador j; while(i.hasNext()){ j = i.next(); String nombre = j.getNombre(); Salida.write(nombre); Salida.write(";"); Salida.newLine(); } } catch(IOException ex){ System.err.println("Error de escritura"); } finally{ try{ Salida.close(); flujoSalida.close(); } catch(IOException ex){ System.out.println("Problemas cerrando el fichero en la escritura"); } } } }