String listName=name.substring(dir.length());
} String listName=name.substring(dir.length());
    public synchronized String[] list()    {        if(isDirectory() && _list==null)        {            ArrayList list = new ArrayList(32);            checkConnection();                        JarFile jarFile=_jarFile;            if(jarFile==null)            {                try                {                    JarURLConnection jc=(JarURLConnection)((new URL(_jarUrl)).openConnection());                    jc.setUseCaches(getUseCaches());                    jarFile=jc.getJarFile();                }                catch(Exception e)                {                     Log.ignore(e);                }            }                        Enumeration e=jarFile.entries();            String dir=_urlString.substring(_urlString.indexOf("!/")+2);            while(e.hasMoreElements())            {                JarEntry entry = (JarEntry) e.nextElement();                String name=entry.getName().replace('\\','/');                if(!name.startsWith(dir) || name.length()==dir.length())                    continue;                String listName=name.substring(dir.length());                int dash=listName.indexOf('/');                if (dash>=0)                {                    listName=listName.substring(0,dash+1);                    if (list.contains(listName))                        continue;                }                                list.add(listName);            }                        _list=new String[list.size()];            list.toArray(_list);        }        return _list;    }