public class MLSxEntryParser extends FTPFileEntryParserImpl
Format is as follows:
entry = [ facts ] SP pathname facts = 1*( fact ";" ) fact = factname "=" value factname = "Size" / "Modify" / "Create" / "Type" / "Unique" / "Perm" / "Lang" / "Media-Type" / "CharSet" / os-depend-fact / local-fact os-depend-fact = {IANA assigned OS name} "." token local-fact = "X." token value = *SCHAR Sample os-depend-fact: UNIX.group=0;UNIX.mode=0755;UNIX.owner=0;A single control response entry (MLST) is returned with a leading space; multiple (data) entries are returned without any leading spaces. The parser requires that the leading space from the MLST entry is removed. MLSD entries can begin with a single space if there are no facts.
Modifier and Type | Field and Description |
---|---|
private static MLSxEntryParser |
PARSER |
private static java.util.HashMap<java.lang.String,java.lang.Integer> |
TYPE_TO_INT |
private static int[] |
UNIX_GROUPS |
private static int[][] |
UNIX_PERMS |
Constructor and Description |
---|
MLSxEntryParser()
Create the parser for MSLT and MSLD listing entries
This class is immutable, so one can use
getInstance() instead. |
Modifier and Type | Method and Description |
---|---|
private void |
doUnixPerms(FTPFile file,
java.lang.String valueLowerCase) |
static MLSxEntryParser |
getInstance() |
static FTPFile |
parseEntry(java.lang.String entry) |
FTPFile |
parseFTPEntry(java.lang.String entry)
Parses a line of an FTP server file listing and converts it into a usable
format in the form of an
FTPFile instance. |
static java.util.Calendar |
parseGMTdateTime(java.lang.String timestamp)
Parse a GMT time stamp of the form YYYYMMDDHHMMSS[.sss]
|
preParse, readNextEntry
private static final MLSxEntryParser PARSER
private static final java.util.HashMap<java.lang.String,java.lang.Integer> TYPE_TO_INT
private static int[] UNIX_GROUPS
private static int[][] UNIX_PERMS
public MLSxEntryParser()
getInstance()
instead.public FTPFile parseFTPEntry(java.lang.String entry)
FTPFileEntryParser
FTPFile
instance. If the
file listing line doesn't describe a file, null
should be
returned, otherwise a FTPFile
instance representing the
files in the directory is returned.entry
- A line of text from the file listingpublic static java.util.Calendar parseGMTdateTime(java.lang.String timestamp)
timestamp
- the date-time to parsenull
private void doUnixPerms(FTPFile file, java.lang.String valueLowerCase)
public static FTPFile parseEntry(java.lang.String entry)
public static MLSxEntryParser getInstance()