Extract text from a binary file Learn programming C#



Lesson:

File Management


Exercise:

Extract text from a binary file


Objetive:

Create a program that extracts only the alphabetic characters contained in a binary file and dumps them to a separate file. The extracted characters should be those whose ASCII code is between 32 and 127, or equal to 10 or 13.


Code:

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);
            }
        }
    }
}



Juan A. Ripoll - Systems Tutorials and Programming Courses ©  All rights reserved.  Legal Conditions.