Mezclar y ordenar archivos Curso de Programación Java

Lección:

Gestión Dinámica de Memoria


Ejercicio:

Mezclar y ordenar archivos 26


Objetivo:

Cree un programa para leer el contenido de dos archivos diferentes y mostrarlo mezclado y ordenado alfabéticamente. Por ejemplo, si los archivos contienen

Dog
Cat
and

Chair
Table

, debería mostrar

Cat
Chair
Dog
Table


Código:

package Text;
import java.util.*;
public class Main
{
	public static void main(String[] args)
	{
		System.out.print("Enter name of file1: ");
		String nameFile1 = new Scanner(System.in).nextLine();

		System.out.print("Enter name of file2: ");
		String nameFile2 = new Scanner(System.in).nextLine();

		if ((!(new java.io.File(nameFile1)).isFile()) || (!(new java.io.File(nameFile2)).isFile()))
		{
			System.out.print("File 1 or File 2 not exists");
			return;
		}

		try
		{
			java.io.FileReader myfile = new java.io.FileReader(nameFile1);
		java.io.BufferedReader myfileBufferedReader = new java.io.BufferedReader(myfile);

			ArrayList list = new ArrayList();

			String line;
			do
			{
				line = myfileBufferedReader.readLine();
				if (line != null)
				{
					list.add(line);
				}
			} while (line != null);

			myfile.close();

			myfile = new java.io.FileReader(nameFile2);

			line = "";

			do
			{
				line = myfileBufferedReader.readLine();
				if (line != null)
				{
					list.add(line);
				}
			} while (line != null);

			myfile.close();

			Collections.sort(list);

			for (int i = 0; i < list.size(); i++)
			{
				System.out.println(list.get(i));
			}
		}
		catch (RuntimeException e)
		{
			System.out.println("Error al intentar abir el fichero.");
		}
	}
}