package com.xsss.im.common.util;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.lang.reflect.Modifier;
import java.net.JarURLConnection;
import java.net.URL;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.alibaba.fastjson.JSONObject;
/**
* ClassFinder
*
* @author
* @date 2014-9-10
* @version V1.0
*/
public class ClassFinder {
private static Log log = LogFactory.getLog(ClassFinder.class);
private final static char DOT = '.';
private final static char SLASH = '/';
private final static String BAD_PACKAGE_ERROR = "Unable to get resources from path '%s'. Are you sure the given '%s' package exists?";
/**
* Method description
*
*
* @param fileName
*
* @return
*/
public static String getClassNameFromFileName(String fileName) {
String class_name = null;
if (fileName.endsWith(".class")) {
// class_name = fileName.substring(0,
// fileName.length()-6).replace(File.separatorChar, '.');
// Above code does not works on MS Windows if we load
// files from jar file. Jar manipulation code always returns
// file names with unix style separators
String tmp_class_name = fileName.substring(0, fil