Autor
|
Tema: Ayuda con lectura y escritura en ficheros Java (Leído 3,085 veces)
|
LuisCardenas123
Desconectado
Mensajes: 30
|
Buenas me encuentro haciendo una práctica y no logro hacerlo bien, el enunciado es este: Crea una clase, llamada RelPerCen, para implementar los métodos necesarios para gestionar el fichero de texto: a. Un método de clase, llamado leer(String nombre), que permita leer el contenido del archivo y devolver una lista con todos los empleados que hay en el fichero. Este método recibe el nombre del archivo como un String. Si el campo fecha de cese se encuentra vacío en el fichero, se establecerá como fecha de cese del empleado la menor fecha representable por la clase LocalDate, en este caso, se usará la constante LocalDate.MIN correspondiente al valor -999999999-01-01. b. Un método de clase, llamado escribir(Lista empleado, String nombreFichero), que escriba el contenido de la lista que se pasa como parámetro en un fichero ubicado en la raíz del proyecto con el nombre que se pasa como parámetro. El formato de escritura en el fichero será un empleado por línea y los campos separados por tabuladores.
Pues bien la cosa es queme dan errores y no sé a qué es debido, si alguien pudiera echarme un cable a completarla se lo agradecer
|
|
|
En línea
|
|
|
|
rub'n
Desconectado
Mensajes: 1.217
(e -> λ("live now")); tatuar -> λ("α");
|
|
|
« Última modificación: 3 Mayo 2019, 12:37 pm por rub'n »
|
En línea
|
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
|
|
|
LuisCardenas123
Desconectado
Mensajes: 30
|
Si, pero no es lo mismo, el codigo que tengo yo hecho es el siguiente pero no consigo hacer bien la practica:
public static ArrayList<Empleado> leerFichero(String archivo) throws FileNotFoundException, IOException {
ArrayList<Empleado> lista = new ArrayList<>();
FileReader fr = new FileReader(archivo); BufferedReader br = new BufferedReader(fr);
String[] tokens; String linea; while ((linea = br.readLine()) != null) { tokens = linea.split("\t"); if(!tokens[4].equalsIgnoreCase(null)){ lista.add(new Empleado(tokens[0], tokens[1], tokens[2], tokens[3], tokens[4], tokens[5], tokens[6])); } else { } } return lista; }
public static void escribir(ArrayList<Empleado> aux, String nombreFichero) { nombreFichero = "escrito.txt"; try (BufferedWriter flujo = new BufferedWriter(new FileWriter(nombreFichero))) { for (int i = 0; i < aux.size(); i++) { flujo.write(aux.get(i)+"\t"); } flujo.newLine(); flujo.flush(); } catch (IOException e) { System.out.println(e.getMessage()); } }
|
|
|
En línea
|
|
|
|
rub'n
Desconectado
Mensajes: 1.217
(e -> λ("live now")); tatuar -> λ("α");
|
Te mostraron como seria el fichero .txt que esta leyendo? como lo escribieron?
|
|
|
En línea
|
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
|
|
|
|
rub'n
Desconectado
Mensajes: 1.217
(e -> λ("live now")); tatuar -> λ("α");
|
perfecto bien, no hay otra manera de tenerlo que no sea imagen? no puedes postearlo aqui?
|
|
|
En línea
|
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
|
|
|
LuisCardenas123
Desconectado
Mensajes: 30
|
Si , lo que pasa que se ve mal al pegarlo aquí entonces el aspecto que tiene es el de la imagen, aqui esta el contenido del fichero:
Título: PERSONAL DEL CENTRO Autor: Aplicación Séneca, CONSEJERÍA DE EDUCACIÓN Y DEPORTE, Junta de Andalucía Fecha de creación: 30/04/19 - 10:01
---------------------------------------+----------------------------------------+-------------------------+-------------+---------+----------- Empleado/a |Puesto |Fecha de toma de posesión|Fecha de cese|Evaluador|Coordinador ---------------------------------------+----------------------------------------+-------------------------+-------------+---------+----------- Aldridge Torres, Pérez |Física y Química P.E.S. |01/09/2012 | |Sí |No Álvarez Ortega, María Dolores |Pedagogía Terapeutica Eso |01/09/2005 | |No |No Baquero Reyes, Cristina |Biología y Geología P.E.S. |18/02/2019 |30/04/2019 |No |No Bermúdez Iñiguez, José Luis |Geografía e Historia P.E.S. |01/09/2018 |30/06/2019 |No |No Beswick Algarrada, Cristina |Orientación Educativa P.E.S. |01/09/2008 | |No |No Blanco Borrego, Mirian |Física y Química P.E.S. |01/09/2004 | |No |Sí Borrego Alcaide, Miguel Ángel |Lengua Castellana y Literatura P.E.S. |01/09/2018 |30/06/2019 |No |No Butrón Cobo, Lucía |Administración de Empresas P.E.S. |25/09/2018 |09/03/2019 |No |No Caballero Suárez, Natalia |Matemáticas P.E.S. |01/09/2004 | |No |No Calero Delgado, Sandra |Matemáticas P.E.S. |26/10/2018 |24/12/2018 |No |No Calvo López, María Lourdes |Geografía e Historia P.E.S. |01/09/2016 | |No |No Camacho Marín, Álvaro |Biología y Geología P.E.S. |01/09/2005 | |No |No Camus Sánchez, Rocío |Lengua Castellana y Literatura P.E.S. |01/09/2018 |30/06/2019 |No |No Castillero Julia, Inmaculada |Educación Física P.E.S. |01/09/2010 | |No |No Castillo Aguilar, Inmaculada Concepción|Lengua Castellana y Literatura P.E.S. |01/09/2018 |30/06/2019 |No |No Cerpa Parreño, Carmen |Inglés P.E.S. |01/09/2016 | |No |No Cintado Varona, Carmen Alejandra |Matemáticas P.E.S. |15/09/1996 | |No |No Concepción Santos, Reyes |Inglés P.E.S. |01/09/2008 | |No |No Contreras Serrano, Dakota |Tecnología P.E.S. |01/09/2018 |30/06/2019 |Sí |No Cortés Martín, Antonio |Inglés P.E.S. |14/01/2019 |30/04/2019 |No |No Cuadra Ruíz, Francisco |Economía P.E.S. |04/02/2019 |30/06/2019 |No |No Del Sol Tenllado, Cristina |Educación Física P.E.S. |01/09/2018 |31/08/2019 |No |No Delgado Benítez, Almudena |Inglés P.E.S. |01/09/2009 | |No |No Delgado Carrasco, María Isabel |Francés P.E.S. |01/09/2018 |31/08/2019 |No |No Díaz Bernal, Isabel María |Lengua Castellana y Literatura P.E.S. |01/09/2018 |31/08/2019 |No |No Díaz González, María Auxiliadora |Inglés P.E.S. |01/09/2003 | |No |No Díaz Jiménez, Ulises |Administración de Empresas P.E.S. |01/10/1991 | |No |No Dorado Begines, María Mercedes |Lengua Castellana y Literatura P.E.S. |12/11/2018 |30/04/2019 |No |No Espejo Pérez, Marina |Dibujo P.E.S. |01/09/2018 |31/08/2019 |No |No Estrella Alonso, María Trinidad |Matemáticas P.E.S. |01/09/2018 |30/06/2019 |No |No Fernández Bermejo, Manuel Jesús |Inglés P.E.S. |01/09/2014 | |Sí |No Fernández Selva, Cristina |Administración de Empresas P.E.S. |01/09/2018 |30/06/2019 |No |No Fernández Silveria, Mari Ángeles |Música P.E.S. |01/09/2001 | |Sí |No García Espinosa, David |Informática P.E.S. |01/09/2018 |30/06/2019 |No |No García Grau, Consuelo |Proc. Gestión Administrativa P.T.F.P. |01/10/1990 | |No |No García Martos, María del Carmen |Tecnología P.E.S. |18/02/2019 |30/04/2019 |No |No García Mena, Mercedes |Matemáticas P.E.S. |01/09/2018 |30/06/2019 |No |No García Urbano, Marina |Filosofía P.E.S. |01/09/2018 |30/06/2019 |Sí |No Garrido Chicón, Katia |Biología y Geología P.E.S. |01/09/2012 | |No |No Giner Pozo, Carmen |Inglés P.E.S. |01/09/2018 |30/06/2019 |No |No Girón Plata, José |Inglés P.E.S. |01/09/2018 |30/06/2019 |Sí |No Gómez Jurado, Noelia |Tecnología P.E.S. |01/09/2018 |31/08/2019 |No |No González Calvo, Francisco |Francés P.E.S. |01/09/2009 | |Sí |Sí González Escobar, Rocío |Biología y Geología P.E.S. |01/09/2018 |30/06/2019 |No |No González García, Mireia |Informática P.E.S. |01/09/2013 | |No |No González Lobato, Laura |Matemáticas P.E.S. |01/09/2018 |31/08/2019 |No |No Hilton Jimènez, María del Carmen |Física y Química P.E.S. |01/09/2018 |31/08/2019 |Sí |No Hinojal Rodríguez, Ana Isabel |Administración de Empresas P.E.S. |01/10/1992 | |No |No Igorra Alpresa, Alberto |Tecnología P.E.S. |01/09/2012 | |Sí |No Jiménez Manzo, Michelle Andrea |Economía P.E.S. |15/09/1997 | |No |No Jódar García, Marta |Proc. Gestión Administrativa P.T.F.P. |01/10/1987 | |No |No Lara Guardia, María Matilde |Matemáticas P.E.S. |01/10/1992 | |No |No Lloret Vázquez, María |Economía P.E.S. |04/02/2019 |22/03/2019 |No |No López Garrido, Marta |Inglés P.E.S. |01/09/2017 | |No |No López Gómez, James |Lengua Castellana y Literatura P.E.S. |01/09/2006 | |Sí |Sí López Iglesias, Cristina María |Francés P.E.S. |15/11/2018 |21/12/2018 |No |No López Valverde, Juan |Geografía e Historia P.E.S. |17/09/2018 |30/06/2019 |No |No Loring Domínguez, Francisco |Lengua Castellana y Literatura P.E.S. |01/09/2018 |30/06/2019 |No |No Macías Recio, Eva María |Laboral Religión (Sec-Ere) Jor.Completa |01/09/2018 |31/08/2019 |No |No Maeso Padilla, Belinda |Educación Física P.E.S. |01/09/2010 | |No |No Manzano Núñez, Jorge |Equipos Electrónicos P.T.F.P. |01/09/2004 | |No |No Márquez Flores, Manuel |Administración de Empresas P.E.S. |04/02/2019 |30/06/2019 |No |No Melero Granado, Marina |Geografía e Historia P.E.S. |01/09/2018 |31/08/2019 |No |No Mendoza Aguilera, Laura María |Educación Física P.E.S. |15/10/2018 |05/11/2018 |No |No Mercado Domínguez, Sergio |Dibujo P.E.S. |01/09/2003 | |Sí |No Millán Troncoso, Fernando |Administración de Empresas P.E.S. |01/10/1992 | |No |No Molina Barragán, María Ángeles |Lengua Castellana y Literatura P.E.S. |01/09/2018 |31/08/2019 |No |No Montes Borrallo, Patricia |Geografía e Historia P.E.S. |01/09/2018 |30/06/2019 |No |No Mora Sánchez, Leticia |Matemáticas P.E.S. |01/09/2018 |30/06/2019 |No |No Moreno Fernández, Cynthia |Geografía e Historia P.E.S. |01/09/2018 |31/08/2019 |No |No Muñoz Sánchez, Vanessa |Informática P.E.S. |01/09/2018 |31/08/2019 |No |No Navas Peters, María Antonia |Lengua Castellana y Literatura P.E.S. |01/09/2017 | |No |No Nieto Navarro, Raquel |Matemáticas P.E.S. |01/09/2018 |31/08/2019 |No |No Nieto Olmedo, Pablo |Geografía e Historia P.E.S. |01/09/2018 | |No |No Oncala Roldán, María Jesús |Informática P.E.S. |01/09/2010 | |No |No Ortega Castro, Ángela |Física y Química P.E.S. |01/09/2018 |31/08/2019 |No |No Pascual Cárdenas, Silvia |Informática P.E.S. |22/06/2009 | |No |No Pérez García, Carlos Antonio |Cultura Clásica P.E.S. |01/09/2018 |30/06/2019 |No |No Pérez González, Javier |Matemáticas P.E.S. |01/09/2011 | |No |No Pérez Moreno, Angélica |Lengua Castellana y Literatura P.E.S. |01/09/2010 | |No |No Polo González, Antonio |Francés P.E.S. |01/09/2018 |30/06/2019 |Sí |No Ponce Farias, Ana Isabel |Inglés P.E.S. |12/11/2018 |21/12/2018 |No |No Quintero Guerrero, Antonio |Proc. Gestión Administrativa P.T.F.P. |01/09/2018 |30/06/2019 |No |No Racionero Oriola, José |Contr. Lab. Religión (Sec-Ere) 12 Horas |01/09/2018 |31/08/2019 |No |No Ramos Parra, Soraya |Equipos Electrónicos P.T.F.P. |01/10/1989 | |No |No Regal Díaz, Álvaro |Sistemas y Aplic. Informáticos P.T.F.P. |01/09/2012 | |Sí |Sí Richarte Urbano, María Isabel |Inglés P.E.S. |01/09/2012 | |No |No Robles García, Álvaro |Lengua Castellana y Literatura P.E.S. |01/09/2018 |30/06/2019 |No |No Rodríguez Moreno, David |Geografía e Historia P.E.S. |01/09/2018 |30/06/2019 |No |No Rodríguez Moreno, Juan Pablo |Francés P.E.S. |01/09/2018 |30/06/2019 |No |No Rodríguez Muñoz, Oscar Manuel |Orientación Educativa P.E.S. |01/09/2012 | |No |No Rubio Romero, Mercedes |Administración de Empresas P.E.S. |01/10/1992 | |No |No Ruiz Cantuche, Carmen Alba |Matemáticas P.E.S. |01/09/2018 |30/06/2019 |No |No Ruiz Quero, Lorena de los Milagros |Música P.E.S. |01/09/2004 | |No |No San Eufrasio Sánchez, Miguel Ángel |Informática P.E.S. |01/09/2013 | |No |No Santana García, David Robert |Filosofía P.E.S. |01/09/2014 | |Sí |No Santolaya Muñoz, Sandra |Física y Química P.E.S. |01/10/1989 | |Sí |Sí Sierra Chaparro, Carmen |Filosofía P.E.S. |01/09/2012 | |No |No Soto Rubio, Alfonsa |Audición y Lenguaje Eso. (Signos) |25/09/2018 |30/06/2019 |No |No Suárez Marrero, Francisco de Paula |Economía P.E.S. |01/09/2018 |31/08/2019 |No |No Torrente Macías, Cristina Victoria |Sistemas Electrónicos P.E.S. |01/09/2003 | |Sí |No Torres García, Lidia |Inglés P.E.S. |01/09/2016 | |No |No Valencia Jiménez, Pablo |Contr. Lab.Evangelic. (Sec-Ere) 05 Horas|01/09/2018 |31/08/2019 |No |No Valero Díaz, Esther |Matemáticas P.E.S. |01/09/2010 | |Sí |Sí Valiente Lanzat, Aida |Inglés P.E.S. |01/09/2018 |30/06/2019 |No |No Vázquez García, Aarón |Inglés P.E.S. |04/12/2018 |30/01/2019 |No |No Vizcaíno Ramírez, Seila María |Tecnología P.E.S. |17/09/2018 |30/06/2019 |No |No
|
|
|
En línea
|
|
|
|
rub'n
Desconectado
Mensajes: 1.217
(e -> λ("live now")); tatuar -> λ("α");
|
Por ahí va la cosa y cuando lo pongas, usa GeShi en modo bash package com.ficheros.foro; import javax.swing.*; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.logging.Logger; /** * autor @rub´n * https://foro.elhacker.net/java/ayuda_con_lectura_y_escritura_en_ficheros_java-t495247.0.html */ public class RelPerCen { private static final Logger LOGGER = Logger.getLogger(RelPerCen.class.getSimpleName()); private static final String MATCHES = "| |"; private static final String REEMPLAZO = "|" + LocalDate. MIN. toString() + "|"; private static final String REPLACE = "[\\]\\[]"; public static List <String > leerFichero (final String nombre ) { final List<String> list = new ArrayList<>(); LOGGER.info("Raiz de proyecto" + Paths.get(".").toAbsolutePath().toString()); try (final BufferedReader br = Files. newBufferedReader(Paths. get(nombre ), Charset. defaultCharset())) { LOGGER.info("Leyendo el fichero de empleados\n"); final StringBuilder sb = new StringBuilder(); while (Objects.nonNull(line = br.readLine())) { if (!line.contains(MATCHES)) { final String s = line. replace(MATCHES, REEMPLAZO ); sb.append(s) . append(System. lineSeparator()); } if (line.contains(MATCHES)) { final String s = line. replace(MATCHES, REEMPLAZO ); sb.append(s) . append(System. lineSeparator()); } } /** * Despues del while */ list.add(sb.toString()); JOptionPane. showMessageDialog(null, "No existe el fichero"); LOGGER.severe("No existe el fichero " + ex.toString()); } return list; } public static void escribir (final List <String > empleado, final String nombreFichero ) { try (final BufferedWriter bw = Files. newBufferedWriter(Paths. get(nombreFichero ))) { bw.write(empleado.toString() .replaceAll(REPLACE, "")); LOGGER.severe("Error al escribir fichero " + ex.toString()); } } public static void main (String... blablablablabla) { final RelPerCen r = new RelPerCen(); /** * Leer el fichero completamente */ final List<String> ficheroLiedo = r.leerFichero("ficheroEmpleados.txt"); /** * Crear el fichero con las fechas de cese en LocalDate.MIN */ r.escribir(ficheroLiedo, "ficheroEmpleadosConFechaDeCese.txt"); } }
Salida actual, falta formateoTítulo: PERSONAL DEL CENTRO Autor: Aplicación Séneca, CONSEJERÍA DE EDUCACIÓN Y DEPORTE, Junta de Andalucía Fecha de creación: 30/04/19 - 10:01 ---------------------------------------+----------------------------------------+-------------------------+-------------+---------+----------- Empleado/a |Puesto |Fecha de toma de posesión|Fecha de cese|Evaluador|Coordinador ---------------------------------------+----------------------------------------+-------------------------+-------------+---------+----------- Aldridge Torres, Pérez |Física y Química P.E.S. |01/09/2012 |-999999999-01-01|Sí |No Álvarez Ortega, María Dolores |Pedagogía Terapeutica Eso |01/09/2005 |-999999999-01-01|No |No Baquero Reyes, Cristina |Biología y Geología P.E.S. |18/02/2019 |30/04/2019 |No |No Bermúdez Iñiguez, José Luis |Geografía e Historia P.E.S. |01/09/2018 |30/06/2019 |No |No Beswick Algarrada, Cristina |Orientación Educativa P.E.S. |01/09/2008 |-999999999-01-01|No |No Blanco Borrego, Mirian |Física y Química P.E.S. |01/09/2004 |-999999999-01-01|No |Sí Borrego Alcaide, Miguel Ángel |Lengua Castellana y Literatura P.E.S. |01/09/2018 |30/06/2019 |No |No Butrón Cobo, Lucía |Administración de Empresas P.E.S. |25/09/2018 |09/03/2019 |No |No
|
|
« Última modificación: 10 Mayo 2019, 03:44 am por rub'n »
|
En línea
|
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda con lectura y escritura de datos.ser
Java
|
Toryas
|
7
|
4,599
|
3 Noviembre 2007, 15:32 pm
por marioly
|
|
|
[Ayuda] Lectura y escritura de archivos.
Java
|
ignorantev1.1
|
3
|
2,839
|
30 Marzo 2013, 18:03 pm
por ignorantev1.1
|
|
|
lectura y escritura de ficheros
Programación C/C++
|
franfis
|
6
|
3,869
|
20 Abril 2013, 19:16 pm
por cypascal
|
|
|
Necesito algunos consejos para mejorar la lectura y escritura de ficheros en C
Programación C/C++
|
DarkSorcerer
|
1
|
2,100
|
24 Enero 2014, 03:18 am
por rir3760
|
|
|
Lectura y escritura de ficheros con semáforos
Programación C/C++
|
Pol23
|
0
|
1,405
|
18 Noviembre 2018, 22:57 pm
por Pol23
|
|