Click here to Skip to main content
15,888,521 members
Articles / Programming Languages / C#
Tip/Trick

File Data Inspector

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
2 Apr 2012CPOL 11.3K   55   1   3
Simply search data in file

Introduction

This is just a simple utility to search data in a file.

It may be useful to inspect data inside a file.

Image 1

Using the Code

This piece of code I found around on the web shows how to find an array of bytes inside another one:

C#
public static int IndexOfBytes(byte[] array, byte[] pattern, int startIndex, int count)
{
    int i = startIndex;
    int endIndex = count > 0 ? startIndex + count : array.Length;
    int fidx = 0;

    while (i < endIndex)
    {
        fidx = (array[i] == pattern[fidx]) ? ++fidx : 0;
        if (fidx == pattern.Length)
        {
            return i - fidx + 1;
        }
        i++;
    }
    return -1;
} 

This is the number conversion in the bytes routine, according to the format selected (8, 16, 32, or 64 bit):

C#
switch (numberBase)
{
    case 8:
        byte2Find = new byte[] { byte.Parse(textBoxNumber.Text) };
        break;
    case 16:
        byte2Find = BitConverter.GetBytes(Convert.ToInt16(textBoxNumber.Text));
        break;
    case 32:
        byte2Find = BitConverter.GetBytes(Convert.ToInt32(textBoxNumber.Text));
        break;
    case 64:
        byte2Find = BitConverter.GetBytes(Convert.ToInt64(textBoxNumber.Text));
        break;
    default:
        byte2Find = new byte[0];
        break;
}   

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
Italy Italy
Creator of:
Impulse Media Player http://impulsemediaplayer.codeplex.com
Audio Pitch & Shift http://audiops.codeplex.com
Ultimate Music Tagger http://umtagger.codeplex.com
Modern Log Viewer http://modernlogviewer.codeplex.com
Pitch Tuner http://pitchtuner.codeplex.com
Modern Audio Tagger http://modernaudiotagger.codeplex.com
Win Log Inspector http://windowsloganalyzer.com/win-log-inspector/
Win Log Analyzer http://windowsloganalyzer.com/win-log-analyzer/

Comments and Discussions

 
BugSorry, but your code is wrong Pin
Andreas Kroll2-Apr-12 11:50
Andreas Kroll2-Apr-12 11:50 
GeneralRe: Sorry, but your code is wrong Pin
Manfred Rudolf Bihy2-Apr-12 21:42
professionalManfred Rudolf Bihy2-Apr-12 21:42 
GeneralRe: Sorry, but your code is wrong Pin
Fabrizio Stellato2-Apr-12 21:54
Fabrizio Stellato2-Apr-12 21:54 
Nothing more to say because Manfred already replied correctly for me.

I didn't figure out yet how to reproduce your bug, I've done these steps:

- created a file foo.txt
- written "ABABABCD" inside
- searched the string "ABABCD" with the utility with positive result.

What's wrong ?

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.