Extraer texto de un archivo binario Curso de Programación Java

Lección:

Administración de Archivos


Ejercicio:

Extraer texto de un archivo binario 8


Objetivo:

Cree un programa para extraer (sólo) los caracteres alfabéticos contenidos en un archivo binario y volcarlos a un archivo diferente. Los caracteres extraídos deben ser aquellos cuyo código ASCII sea 32 a 127, o 10, o 13.


Código:

import java.util.*;
public class Main
{
	public static void main(String[] args)
	{
		java.io.FileInputStream file;
		String name;

		System.out.println("Enter the file name: ");
		name = new Scanner(System.in).nextLine();

		if (!(new java.io.File(name)).isFile())
		{
			System.out.printf("File %1$s not found!" + "\r\n", name);
		}
		else
		{
			try
			{
				file = File.OpenRead(name);
				byte[] bytesFile = new byte[file.getLength()];
				file.read(bytesFile, 0, (int)file.getLength());
				file.close();

				java.io.OutputStreamWriter newFile = new java.io.OutputStreamWriter(name + "01.txt");
				for (int i = 0; i < bytesFile.length; i++)
				{
					if (((int)bytesFile[i] >= 32) && ((int)bytesFile[i] <= 127) || ((int)bytesFile[i] == 10) || ((int)bytesFile[i] == 13))
					{
						newFile.write(String.valueOf((char)bytesFile[i]));
					}
				}

				newFile.close();
			}
			catch (RuntimeException e)
			{
				System.out.println("Error, " + e.getMessage());
			}
		}
	}
}