elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Lectura y escritura de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Lectura y escritura de datos  (Leído 2,283 veces)
rubcr

Desconectado Desconectado

Mensajes: 51


Ver Perfil
Lectura y escritura de datos
« en: 8 Mayo 2020, 03:33 am »

Buenas a todos.
Tengo una cuestión sobre un ejemplo de lectura y escritura de datos en java.
Tengo un archivo input.txt con texto y tengo que separar las líneas pares en un archivo .txt y las líneas impares en otro archivo .txt
Como se podría realizar este programa?

Espero que alguien sepa ayudarme.
Un saludo.


En línea

rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: Lectura y escritura de datos
« Respuesta #1 en: 8 Mayo 2020, 07:00 am »

ressscaaataaaaalaaaaaaa

use Open jdk 11  :-( :-( :-( :-( :-( :-( :-(

Descripción hyper supra breve: recorreremos el fichero y por el condicional, concatenamos las lineas pares en impares, en sus
respectivos StringBuilder, para luego escribirlos en los ficheros de cada quien, se concatena xq de lo contrario se escribiria la ulllltima linea solamente en cada fichero.

* El método write crea los ficheros si no existen, para flojos como yo, y vagos como tu  :silbar:

* la explicación esta 100% mala, llevo dias sin dormir
mas millll ediciones  >:D

Código
  1.    private static final Path RUTA_PARES = Path.of("pares.txt");
  2.    private static final Path RUTA_IMPARES = Path.of("impares.txt");

Código
  1. public App() {
  2.        readLines("archivo.txt"); //fichero principal
  3.    }
  4.  
  5.    /**
  6.      * (e % 2) == 0 pares , !=0 impares
  7.      *
  8.      * @param rutaFichero
  9.      */
  10.    private void readLines(final String rutaFichero) {
  11.        try (final Stream<String> lines = Files.lines(Path.of(rutaFichero))) {
  12.  
  13.            final AtomicReference<Integer> atomicCounter = new AtomicReference<>(1);
  14.            final StringBuilder pares = new StringBuilder();
  15.            final StringBuilder impares = new StringBuilder();
  16.  
  17.            lines.forEach(linea -> {
  18.                final Integer count = atomicCounter.getAndUpdate(e -> ++e);
  19.                if ((count % 2) == 0) {//pares
  20.                    pares.append(linea);
  21.                    pares.append(System.lineSeparator());
  22.                } else { //IMPARES
  23.                    impares.append(linea);
  24.                    impares.append(System.lineSeparator());
  25.                }
  26.            });
  27.            writer(RUTA_PARES, pares.toString());
  28.            writer(RUTA_IMPARES, impares.toString());
  29.  
  30.        } catch (IOException e) {
  31.            e.printStackTrace();
  32.        }
  33.  
  34.  
  35.    }
  36.  
  37.    private void writer(final Path path, String line) {
  38.  
  39.        if(!path.toFile().exists()) {
  40.            try {
  41.                Files.createFile(path);
  42.            } catch (IOException e) {
  43.                e.printStackTrace();
  44.            }
  45.        }
  46.  
  47.        try (final BufferedWriter br = Files.newBufferedWriter(path)) {
  48.  
  49.            br.write(line);
  50.            br.write(System.lineSeparator());
  51.  
  52.        } catch (IOException ex) {
  53.  
  54.        }
  55.    }


« Última modificación: 8 Mayo 2020, 07:21 am por rub'n » En línea

rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con lectura y escritura de datos.ser
Java
Toryas 7 4,621 Último mensaje 3 Noviembre 2007, 15:32 pm
por marioly
Lectura y Escritura de CDs y DVDs.
Hardware
B€T€B€ 8 7,979 Último mensaje 19 Julio 2011, 01:18 am
por B€T€B€
lectura y escritura de ficheros
Programación C/C++
franfis 6 3,900 Último mensaje 20 Abril 2013, 19:16 pm
por cypascal
Lectura y escritura en Archivos
Programación C/C++
Swastik 3 2,698 Último mensaje 8 Febrero 2015, 01:00 am
por ivancea96
Responsabilidad del programador/compilador-S.O. en la eficiencia de la lectura/escritura de datos en disco
Programación General
fzp 2 3,404 Último mensaje 3 Diciembre 2021, 18:20 pm
por fzp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines