VFS.DirectoryEntry file = _getDirectoryEntry(session, MiscUtilities.constructPath(path,name),comp); if(file != null) list2.addElement(file);
String _path; if(path.endsWith(File.separator)) _path = path + name; else _path = path + File.separatorChar + name;  File file = new File(_path);  int type; if(file.isDirectory()) type = VFS.DirectoryEntry.DIRECTORY; else type = VFS.DirectoryEntry.FILE;  VFS.DirectoryEntry entry = new VFS.DirectoryEntry( name,_path,_path,type,file.length(), fsView.isHiddenFile(file));  list2.addElement(entry);
	public VFS.DirectoryEntry[] _listDirectory(Object session, String path,		Component comp)	{		/* Fix for the bug where listing a drive letter on Windows		 * doesn't work. On Windows, paths of the form X: list the		 * last *working directory* on that drive. To list the root		 * of the drive, you must use X:\.		 *		 * However, the VFS browser and friends strip off trailing		 * path separators, for various reasons. So to work around		 * that, we add a '\' to drive letter paths on Windows.		 */		if(File.separatorChar == '\\')		{			if(path.length() == 2 && path.charAt(1) == ':')				path = path.concat(File.separator);		}		File directory = new File(path);		String[] list = directory.list();		if(list == null)			return null;		Vector list2 = new Vector();		for(int i = 0; i < list.length; i++)		{			String name = list[i];			VFS.DirectoryEntry file = _getDirectoryEntry(session,				MiscUtilities.constructPath(path,name),comp);			if(file != null)				list2.addElement(file);		}		VFS.DirectoryEntry[] retVal = new VFS.DirectoryEntry[list2.size()];		list2.copyInto(retVal);		return retVal;	}