Class UnixFTPEntryParser
java.lang.Object
org.apache.commons.net.ftp.FTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.UnixFTPEntryParser
- All Implemented Interfaces:
Configurable,FTPFileEntryParser
Implementation FTPFileEntryParser and FTPFileListParser for standard UNIX Systems.
This class is based on the logic of Daniel Savarese's DefaultFTPListParser, but adapted to use regular expressions and to fit the new FTPFileEntryParser
interface.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final Stringprivate static final String(package private) static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringstatic final FTPClientConfigSome Linux distributions are now shipping an FTP server which formats file listing dates in an all-numeric format:"yyyy-MM-dd HH:mm.(package private) static final Stringprivate static final Stringthis is the regular expression used by this parser.private static final Pattern(package private) final booleanFields inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
_matcher_ -
Constructor Summary
ConstructorsConstructorDescriptionThe default constructor for a UnixFTPEntryParser object.UnixFTPEntryParser(FTPClientConfig config) This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration.UnixFTPEntryParser(FTPClientConfig config, boolean trimLeadingSpaces) This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration. -
Method Summary
Modifier and TypeMethodDescriptionprotected FTPClientConfigDefines a default configuration to be used when this class is instantiated without aFTPClientConfigparameter being specified.parseFTPEntry(String entry) Parses a line of a unix (standard) FTP server file listing and converts it into a usable format in the form of anFTPFileinstance.Preparses the list to discard "total nnn" lines.Methods inherited from class org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl
configure, parseTimestampMethods inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
getGroupCnt, getGroupsAsString, group, matches, setRegex, setRegexMethods inherited from class org.apache.commons.net.ftp.FTPFileEntryParserImpl
readNextEntry
-
Field Details
-
DEFAULT_DATE_FORMAT
- See Also:
-
DEFAULT_RECENT_DATE_FORMAT
- See Also:
-
NUMERIC_DATE_FORMAT
- See Also:
-
JA_MONTH
- See Also:
-
JA_DAY
- See Also:
-
JA_YEAR
- See Also:
-
DEFAULT_DATE_FORMAT_JA
- See Also:
-
DEFAULT_RECENT_DATE_FORMAT_JA
- See Also:
-
TOTAL_PATTERN
-
NUMERIC_DATE_CONFIG
Some Linux distributions are now shipping an FTP server which formats file listing dates in an all-numeric format:"yyyy-MM-dd HH:mm. This is a very welcome development, and hopefully it will soon become the standard. However, since it is so new, for now, and possibly forever, we merely accommodate it, but do not make it the default.For now end users may specify this format only via
UnixFTPEntryParser(FTPClientConfig). Steve Cohen - 2005-04-17 -
REGEX
this is the regular expression used by this parser. Permissions: r the file is readable w the file is writable x the file is executable - the indicated permission is not granted L mandatory locking occurs during access (the set-group-ID bit is on and the group execution bit is off) s the set-user-ID or set-group-ID bit is on, and the corresponding user or group execution bit is also on S undefined bit-state (the set-user-ID bit is on and the user execution bit is off) t the 1000 (octal) bit, or sticky bit, is on [see chmod(1)], and execution is on T the 1000 bit is turned on, and execution is off (undefined bit-state) e z/OS external link bit. Final letter may be appended: + file has extended security attributes (e.g. ACL) Note: local listings on MacOSX also use '@'; this is not allowed for here as does not appear to be shown by FTP servers@file has extended attributes- See Also:
-
trimLeadingSpaces
final boolean trimLeadingSpaces
-
-
Constructor Details
-
UnixFTPEntryParser
public UnixFTPEntryParser()The default constructor for a UnixFTPEntryParser object.- Throws:
IllegalArgumentException- Thrown if the regular expression is unparseable. Should not be seen under normal conditions. If this exception is seen, this is a sign thatREGEXis not a valid regular expression.
-
UnixFTPEntryParser
This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration.- Parameters:
config- Theconfigurationobject used to configure this parser.- Throws:
IllegalArgumentException- Thrown if the regular expression is unparseable. Should not be seen under normal conditions. If this exception is seen, this is a sign thatREGEXis not a valid regular expression.- Since:
- 1.4
-
UnixFTPEntryParser
This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration.- Parameters:
config- Theconfigurationobject used to configure this parser.trimLeadingSpaces- iftrue, trim leading spaces from file names- Throws:
IllegalArgumentException- Thrown if the regular expression is unparseable. Should not be seen under normal conditions. If this exception is seen, this is a sign thatREGEXis not a valid regular expression.- Since:
- 3.4
-
-
Method Details
-
getDefaultConfiguration
Defines a default configuration to be used when this class is instantiated without aFTPClientConfigparameter being specified.- Specified by:
getDefaultConfigurationin classConfigurableFTPFileEntryParserImpl- Returns:
- the default configuration for this parser.
-
parseFTPEntry
Parses a line of a unix (standard) FTP server file listing and converts it into a usable format in the form of anFTPFileinstance. If the file listing line doesn't describe a file,nullis returned, otherwise aFTPFileinstance representing the files in the directory is returned.- Parameters:
entry- A line of text from the file listing- Returns:
- An FTPFile instance corresponding to the supplied entry
-
preParse
Preparses the list to discard "total nnn" lines.- Specified by:
preParsein interfaceFTPFileEntryParser- Overrides:
preParsein classFTPFileEntryParserImpl- Parameters:
original- Original list after it has been created from the server stream- Returns:
originalunmodified.
-