Geek-o-Philiac

Monday, September 18, 2006

StreamParser

Here is a simple utility class designed to mimic Java's Scanner class for the purpose of reading in files. It can be easily expanded to be more generic, but for my purposes confining it to reading files is sufficient.

public class StreamParser

{

    public StreamParser(string fileName)

    {

        using (StreamReader streamReader = new StreamReader(fileName))

        {

            mData = streamReader.ReadToEnd();

            mTokens = mData.Split(mDelimiters);

        }

    }

 

    public string NextString()

    {

        mCurrToken++;

        return mTokens[mCurrToken];

    }

 

    public int NextInt()

    {

        mCurrToken++;

        return int.Parse(mTokens[mCurrToken]);

    }

 

    public float NextFloat()

    {

        mCurrToken++;

        return float.Parse(mTokens[mCurrToken]);

    }

 

    public double NextDouble()

    {

        mCurrToken++;

        return double.Parse(mTokens[mCurrToken]);

    }

 

    private bool HasNext()

    {

        if (mCurrToken >= mTokens.Length)

        {

            return false;

        }

        else

        {

            return true;

        }

    }

 

    private string mData;

    private string[] mTokens;

    private char[] mDelimiters = new char[] { ' ', '\n', '\t' };

    private int mCurrToken = -1;

}

0 Comments:

Post a Comment

<< Home