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
public class UnixFTPEntryParser extends ConfigurableFTPFileEntryParserImpl
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.- Version:
- $Id: UnixFTPEntryParser.java 1781925 2017-02-06 16:43:40Z sebb $
- See Also:
FTPFileEntryParser (for usage instructions)
-
-
Field Summary
Fields Modifier and Type Field Description static FTPClientConfig
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
.-
Fields inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
_matcher_
-
-
Constructor Summary
Constructors Constructor Description UnixFTPEntryParser()
The 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected FTPClientConfig
getDefaultConfiguration()
Defines a default configuration to be used when this class is instantiated without aFTPClientConfig
parameter being specified.FTPFile
parseFTPEntry(java.lang.String entry)
Parses a line of a unix (standard) FTP server file listing and converts it into a usable format in the form of anFTPFile
instance.java.util.List<java.lang.String>
preParse(java.util.List<java.lang.String> original)
Preparse the list to discard "total nnn" lines-
Methods inherited from class org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl
configure, parseTimestamp
-
Methods inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
getGroupCnt, getGroupsAsString, group, matches, setRegex, setRegex
-
Methods inherited from class org.apache.commons.net.ftp.FTPFileEntryParserImpl
readNextEntry
-
-
-
-
Field Detail
-
NUMERIC_DATE_CONFIG
public static final FTPClientConfig 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 accomodate 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
-
-
Constructor Detail
-
UnixFTPEntryParser
public UnixFTPEntryParser()
The default constructor for a UnixFTPEntryParser object.- Throws:
java.lang.IllegalArgumentException
- Thrown if the regular expression is unparseable. Should not be seen under normal conditions. It it is seen, this is a sign thatREGEX
is not a valid regular expression.
-
UnixFTPEntryParser
public UnixFTPEntryParser(FTPClientConfig config)
This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration.- Parameters:
config
- Theconfiguration
object used to configure this parser.- Throws:
java.lang.IllegalArgumentException
- Thrown if the regular expression is unparseable. Should not be seen under normal conditions. It it is seen, this is a sign thatREGEX
is not a valid regular expression.- Since:
- 1.4
-
UnixFTPEntryParser
public UnixFTPEntryParser(FTPClientConfig config, boolean trimLeadingSpaces)
This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration.- Parameters:
config
- Theconfiguration
object used to configure this parser.trimLeadingSpaces
- iftrue
, trim leading spaces from file names- Throws:
java.lang.IllegalArgumentException
- Thrown if the regular expression is unparseable. Should not be seen under normal conditions. It it is seen, this is a sign thatREGEX
is not a valid regular expression.- Since:
- 3.4
-
-
Method Detail
-
preParse
public java.util.List<java.lang.String> preParse(java.util.List<java.lang.String> original)
Preparse the list to discard "total nnn" lines- Specified by:
preParse
in interfaceFTPFileEntryParser
- Overrides:
preParse
in classFTPFileEntryParserImpl
- Parameters:
original
- Original list after it has been created from the server stream- Returns:
original
unmodified.
-
parseFTPEntry
public FTPFile parseFTPEntry(java.lang.String entry)
Parses a line of a unix (standard) FTP server file listing and converts it into a usable format in the form of anFTPFile
instance. If the file listing line doesn't describe a file,null
is returned, otherwise aFTPFile
instance 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
-
getDefaultConfiguration
protected FTPClientConfig getDefaultConfiguration()
Defines a default configuration to be used when this class is instantiated without aFTPClientConfig
parameter being specified.- Specified by:
getDefaultConfiguration
in classConfigurableFTPFileEntryParserImpl
- Returns:
- the default configuration for this parser.
-
-