int i; int j = 0; boolean lastWasSpace = false; int fieldCount = 0;  long length = 0L; String name = null;  for(i = 0; i < line.length(); i++)
catch(Exception e)
	private VFS.DirectoryEntry lineToDirectoryEntry(String line)	{		int type;		switch(line.charAt(0))		{		case 'd':			type = VFS.DirectoryEntry.DIRECTORY;			break;		case 'l':			type = __LINK;			break;		default:			type = VFS.DirectoryEntry.FILE;			break;		}		// first, extract the fifth field, which is the file size		int i;		int j = 0;		boolean lastWasSpace = false;		int fieldCount = 0;		long length = 0L;		String name = null;		for(i = 0; i < line.length(); i++)		{			if(line.charAt(i) == ' ')			{				lastWasSpace = true;			}			else			{				if(lastWasSpace)				{					fieldCount++;					if(fieldCount == 4)						j = i;					else if(fieldCount == 5)					{						length = Long.parseLong(							line.substring(j,i).trim());					}					else if(fieldCount == 8)					{						name = line.substring(i);						break;					}				}				lastWasSpace = false;			}		}		// path is null; it will be created later, by _listDirectory()		return new VFS.DirectoryEntry(name,null,null,type,length,			name.charAt(0) == '.' /* isHidden */);	}