Extraer texto de un archivo binario Curso de Programación C# Sharp

Lección:

Administración de Archivos


Ejercicio:

Extraer texto de un archivo binario 21


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:

using System;
using System.IO;
class FileBinay
{
    static void Main()
    {
        FileStream file;
        string name;

        Console.WriteLine("Enter the file name: ");
        name = Console.ReadLine();

        if (!File.Exists(name))
            Console.WriteLine("File {0} not found!", name);
        else
        {
            try
            {
                file = File.OpenRead(name);
                byte[] bytesFile = new byte[file.Length];
                file.Read(bytesFile, 0, (int)file.Length);
                file.Close();

                StreamWriter newFile = new StreamWriter(name + "01.txt");
                for (int i = 0; i < bytesFile.Length; i++)
                {
                    if ((Convert.ToInt32(bytesFile[i]) >= 32) &&
                        (Convert.ToInt32(bytesFile[i]) <= 127) ||
                        (Convert.ToInt32(bytesFile[i]) == 10) ||
                        (Convert.ToInt32(bytesFile[i]) == 13))
                    {
                        newFile.Write(Convert.ToChar(bytesFile[i]));
                    }
                }

                newFile.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error, " + e.Message);
            }
        }
    }
}