Class UnixFTPEntryParser

    • Field Detail

      • DEFAULT_RECENT_DATE_FORMAT

        static final java.lang.String DEFAULT_RECENT_DATE_FORMAT
        See Also:
        Constant Field Values
      • DEFAULT_DATE_FORMAT_JA

        private static final java.lang.String DEFAULT_DATE_FORMAT_JA
        See Also:
        Constant Field Values
      • DEFAULT_RECENT_DATE_FORMAT_JA

        private static final java.lang.String DEFAULT_RECENT_DATE_FORMAT_JA
        See Also:
        Constant Field Values
      • 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

      • REGEX

        private static final java.lang.String 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:
        Constant Field Values
      • trimLeadingSpaces

        final boolean trimLeadingSpaces
    • 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 that REGEX 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 - The configuration 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 that REGEX 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 - The configuration object used to configure this parser.
        trimLeadingSpaces - if true, 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 that REGEX 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 interface FTPFileEntryParser
        Overrides:
        preParse in class FTPFileEntryParserImpl
        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 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