public boolean isDirectory(String filename) {
		String localFileName = (java.io.File.separatorChar != '/') ? filename
				.replace('/', java.io.File.separatorChar) : filename;
		for (int i = 0; i < dirs.length; i++) {
			if (dirs[i] == null)
				continue;
			if (zips[i] != null && zipEntries[i] == null)
				fillZipEntries(i);

			if (zipEntries[i] != null) {
				if (zipEntries[i].containsKey(filename))
					return true;
			} else {
				try {
					File f = new File(dirs[i], localFileName);
					if (f.exists())
						return f.isDirectory();
				} catch (SecurityException ex) {
					GlobalOptions.err.println("Warning: SecurityException"
							+ " while accessing " + dirs[i] + localFileName);
				}
			}
		}
		return false;
	}