Hacer un lío de leer y escribir

Ok, lo que intento hacer es leer de un archivo .text a otro archivo de texto usando un botón. Por lo tanto, es impulsado por eventos, pero tengo que invertir la salida.

Estoy codificando en netbeans porque soy un novato y es útil.

He estado trabajando en esto durante un par de días tratando de encontrar información clara en la web, pero me está costando mucho y ahora creo que mi código se ve peor que cuando empecé, así que indique por qué lo que estoy haciendo está mal.

Muchas gracias de antemano por cualquier consejo que pueda dar.

Aquí está mi botón.

        private void ReadButtonActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        int x ;
        Vector<String> readOrder = new Vector<String>();
        try {
        Scanner i = new Scanner(new FileReader("Out.txt"));
        while( i.hasNextInt()){
        x = i.nextInt();
        readOrder.add(new Integer(x));
        }
        try {
        try (BufferedWriter out = new BufferedWriter(new FileWriter("Outfile.txt")));
        out.append(" " + x);
        out.close();
        }
        i.close();
        }
        catch (Exception e ){}
        for(int i = readOrder.size()-1 ; i >= 0 ; i-- )
        System.out.println( readOrder.elementAt( i ).intValue() );
        }
Respuesta 1

Para mejorar tu código,

  1. Elimine el try try anidado, en dos bloques try-catch separados, uno para entrada y otro para salida.
  2. Retire el try (BufferedWriter out = new BufferedWriter(new FileWriter("Outfile.txt")))bloque exterior One será adecuado.
  3. Separe la lógica de IO, de negocios y de archivos colocándolos en diferentes clases y SI ES NECESARIO (solo) detrás de las interfaces.
  4. No sé si tiene una razón específica para usar el vector (tiene ventajas como almacenar de forma contigua en la memoria, etc.) pero una ArrayList debería ser suficiente para leer una lista de entradas.
  5. Collections.reverse(arrayList); java.util.Collections es un método útil para su lógica de inversión, si es una tarea / ejercicio, entonces su maestro no apreciará el uso de métodos lib :)
Respuesta: 2

Entonces, cuando publiqué mi aplicación en Google Play Store, tuve que cambiar la clave SHA1 en Firebase y Google Play API Console por la nueva que generó Google Play Console. El problema ahora es si ...

Comencé a trabajar en un proyecto simple de redes nuevas que crea un nuevo hilo para cada conexión y estoy tratando de enviar varias cosas. Lo que me pregunto es si hay una manera fácil de decir simplemente ...

Tengo un objeto Json que quiero transformar en un POJO, el problema es que 1 de sus propiedades es un valor c que tendrá valores diferentes que no conozco de antemano. Digamos que no sé ...

En mi programa en Java, dibujé estos polígonos en mi JFrame y quiero que el cursor de mi mouse cambie al que hago clic en él, así que al hacer clic nuevamente, el polígono se dibujará en el punto de mi ...