Ejercicio
Extraer texto de un archivo binario
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 de Ejemplo
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());
}
}
}
}