public NZFolderReader(File folderFile) throws IOException {
		super();
		this.folderFile = folderFile;
		if (folderFile == null)
			throw new IOException("Cannot take a null parameter as folderFile");
		indexFileMap = new HashMap<String, File>();
		dataFileMap = new HashMap<String, File>();
		for (File temp : folderFile.listFiles()) {
			if (temp.getPath().contains("_index"))
				indexFileMap.put(temp.getPath().replaceAll("_index", ""), temp);
			else if (temp.getPath().contains("_data"))
				dataFileMap.put(temp.getPath().replaceAll("_data", ""), temp);

		}
		if (indexFileMap.isEmpty() || dataFileMap.isEmpty()
				|| indexFileMap.size() != dataFileMap.size())
			throw new IOException(
					"There must be equal number of non-zero index and data files in the folder");
		if (!openNZFileReader())
			throw new IOException("Unable to detect any relevant files");
	}