Ejercicio
ArrayList duplicar un archivo de texto
Objetivo
Cree un programa que lea desde un archivo de texto y lo almacene en otro archivo de texto invirtiendo las líneas.
Por lo tanto, un archivo de texto de entrada como:
ayer el Madrid
le ganó
al Barcelona
se almacenará en un archivo de texto de salida como:
al Barcelona
le ganó
ayer el Madrid
Código de Ejemplo
package TextFileInvert;
import java.util.*;
public class Main
{
static void main(String[] args)
{
System.out.print("Introduce el nombre del fichero: ");
String nombreArchivo = new Scanner(System.in).nextLine();
if (!(new java.io.File(nombreArchivo)).isFile())
{
System.out.print("El archivo no existe!");
return;
}
try
{
java.io.FileReader miArchivo;
java.io.BufferedReader miArchivoBufferedReader = new java.io.BufferedReader(miArchivo);
miArchivo = new java.io.FileReader(nombreArchivo);
String line;
ArrayList miLista = new ArrayList();
do
{
line = miArchivoBufferedReader.readLine();
if (line != null)
{
miLista.add(line);
}
} while (line != null);
miArchivo.close();
java.io.FileWriter miArchivoAlReves = new java.io.FileWriter(nombreArchivo + "-reverse.txt");
int tamanyoArchivo = miLista.size();
for (int i = tamanyoArchivo - 1; i >= 0; i--)
{
miArchivoAlReves.write(String.valueOf(miLista.get(i)) + System.lineSeparator());
}
miArchivoAlReves.close();
}
catch (RuntimeException e)
{
System.out.println("Error, " + e.getMessage());
}
new Scanner(System.in).nextLine();
}
}