public RegExMultiReplace(String args[]) {
		
		// Get argument for configFile
		String configPath = null;
		try {configPath = args[0];} catch (ArrayIndexOutOfBoundsException e) {}
		
		if (configPath != null) {
		
			// Set startpath from command line if it was provided
			String startPathFromArgs = null;
			try {startPathFromArgs = args[1];} catch (ArrayIndexOutOfBoundsException e) {}
			
			if (startPathFromArgs != null) {
				this.startingPath = startPathFromArgs;
				// Block any further configuration of the start path so the config file 
				// doesn't change it.
				blockSetStartingPath = true;
			}

			// Get input from a configFile
			CommandParser parser = new CommandParser(COMMAND_PARSER_SEPARATOR);
			parser.addCommand(new RegExMultiReplaceConfigCommand(COMMAND_SET,this));
	
			// Load things from the config file
			CommandQueue commandQueue = new CommandQueue(30);
			commandQueue.loadFromFile(configPath);
			
			while (commandQueue.getSize() > 0) {
				try {
					parser.parse((String) commandQueue.getNext());
				} catch (UnknownCommandException uce) {
					System.out.println("Unknown Command");
				}
			}
		} else {
			// Get input from the console
			startingPath = ConsoleTools.getNonEmptyInput("Enter starting path: ");
			
			regexes = ConsoleTools.getSeriesOfInputs("Enter regular expression: ");
			while (regexes.length <= 0) {
				regexes = ConsoleTools.getSeriesOfInputs("Enter regular expression: ");
			}
			
			fileExtensions = ConsoleTools.getSeriesOfInputs("Enter file extension to match: ");
			while (fileExtensions.length <= 0) {
				fileExtensions = ConsoleTools.getSeriesOfInputs("Enter file extension to match: ");
			}
			System.out.println("");
		}
		
		// Setup the Crawler
		DirectoryCrawler crawler = new DirectoryCrawler();
		crawler.setFileHandler(new RegExMultiReplacementFileContentsHandler(regexes,lineEnding));
		crawler.setFileFilter(new FileExtensionFilter(fileExtensions));
		
		// Do the Crawl
		System.out.println("STARTING...");
		crawler.crawl(startingPath);
		System.out.println("DONE");
	}