/// <summary> Constructor for the DirectoryCrawler class which iterates through a directory and
        /// creates an ouput with all the files. </summary>
        /// <param name="startingDirectory"> Starting point for directory iteration </param>
        /// <example> To see examples, look at the examples listed under the main <see cref="DirectoryCrawler"/> class. </example>
        public DirectoryCrawler(string startingDirectory)
        {
            // Save the parameter
            this.startingDirectory = startingDirectory;
            startingDirectoryList  = "";
            userControlledField    = "";

            // Setup the DataSet file
            createDataSet();

            // Set the initial value for the last directory key to 0
            lastDirKey = 0;

            // Set the File and Object collection to a new one
            allFiles     = new DirectoryCrawler_FileCollection();
            allFields    = new DirectoryCrawler_UserDefinedCollection();
            customObject = new ArrayList();
        }
        /// <summary> Constructor for the DirectoryCrawler class which iterates through a directory and
        /// creates an ouput with all the files. </summary>
        /// <param name="formatIdentifier"> Value which tells the format type. 0-HTML, 1-Text, 2-XML, 3-Access, 4-Display  </param>
        /// <param name="OutputFile"> File and path for the output file. (minus extension) </param>
        /// <param name="startingDirectory"> Starting point for directory iteration </param>
        /// <example> To see examples, look at the examples listed under the main <see cref="DirectoryCrawler"/> class. </example>
        public DirectoryCrawler(int formatIdentifier, string OutputFile, string startingDirectory)
        {
            // Save the parameters
            this.formatIdentifier  = formatIdentifier;
            this.startingDirectory = startingDirectory;
            startingDirectoryList  = "";

            // Setup the DataSet file
            createDataSet();

            // Set the initial value for the last directory key to 0 and user controlled field
            lastDirKey          = 0;
            userControlledField = "";

            // Set the File and Object collection to a new one
            allFiles     = new DirectoryCrawler_FileCollection();
            allFields    = new DirectoryCrawler_UserDefinedCollection();
            customObject = new ArrayList();

            // Iterate through the source drive
            this.Iterate();

            // Depening on the requested output type, perform output
            if (formatIdentifier == 0)
            {
                CreateHTML(OutputFile);
            }
            if (formatIdentifier == 1)
            {
                CreateText(OutputFile);
            }
            if (formatIdentifier == 2)
            {
                CreateXML(OutputFile);
            }
            if (formatIdentifier == 3)
            {
                CreateAccess(OutputFile);
            }
        }