Class 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 Details Link icon

    • NUMERIC_DATE_CONFIG Link icon

      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 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

  • Constructor Details Link icon

    • UnixFTPEntryParser Link icon

      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 that REGEX is not a valid regular expression.
    • UnixFTPEntryParser Link icon

      This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration.
      Parameters:
      config - The configuration object 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 that REGEX is not a valid regular expression.
      Since:
      1.4
    • UnixFTPEntryParser Link icon

      public UnixFTPEntryParser(FTPClientConfig config, boolean trimLeadingSpaces)
      This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration.
      Parameters:
      config - The configuration object used to configure this parser.
      trimLeadingSpaces - if true, 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 that REGEX is not a valid regular expression.
      Since:
      3.4
  • Method Details Link icon

    • getDefaultConfiguration Link icon

      Defines a default configuration to be used when this class is instantiated without a FTPClientConfig parameter being specified.
      Specified by:
      getDefaultConfiguration in class ConfigurableFTPFileEntryParserImpl
      Returns:
      the default configuration for this parser.
    • parseFTPEntry Link icon

      public FTPFile 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 an FTPFile instance. If the file listing line doesn't describe a file, null is returned, otherwise a FTPFile 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
    • preParse Link icon

      public List<String> preParse(List<String> original)
      Preparses the list to discard "total nnn" lines.
      Specified by:
      preParse in interface FTPFileEntryParser
      Overrides:
      preParse in class FTPFileEntryParserImpl
      Parameters:
      original - Original list after it has been created from the server stream
      Returns:
      original unmodified.