File file= new File(fileName); XMLResource document;
File file = new File(fileName); Resource document;
	protected final boolean parse(String fileName) throws XMLDBException {		fileName=			fileName.replace('/', File.separatorChar).replace(				'\\',				File.separatorChar);		File file= new File(fileName);		XMLResource document;		String xml;		File files[];		if (current instanceof Observable && verbose) {			ProgressObserver observer= new ProgressObserver();			((Observable) current).addObserver(observer);		}		if (file.canRead()) {			if (file.isDirectory()) {				if (recurseDirs) {					filesCount= 0;					long start= System.currentTimeMillis();					boolean result= findRecursive(current, file, path);					messageln(						"storing "							+ filesCount							+ " files took "							+ ((System.currentTimeMillis() - start) / 1000)							+ "sec.");					return result;				} else					files= file.listFiles(new XMLFilenameFilter());			} else {				files= new File[1];				files[0]= file;			}		} else			files= DirectoryScanner.scanDir(fileName);		long start;		long start0= System.currentTimeMillis();		long bytes= 0;		for (int i= 0; i < files.length; i++) {			start= System.currentTimeMillis();			document=				(XMLResource) current.createResource(					files[i].getName(),					"XMLResource");			message(				"storing document "					+ files[i].getName()					+ " ("					+ (i + 1)					+ " of "					+ files.length					+ ") ...");			document.setContent(files[i]);			current.storeResource(document);			messageln("done.");			messageln(				"parsing "					+ files[i].length()					+ " bytes took "					+ (System.currentTimeMillis() - start)					+ "ms.\n");			bytes += files[i].length();		}		messageln(			"parsed "				+ bytes				+ " bytes in "				+ (System.currentTimeMillis() - start0)				+ "ms.");		return true;	}