Class FTPFile

java.lang.Object
org.apache.commons.net.ftp.FTPFile
All Implemented Interfaces:
Serializable

public class FTPFile extends Object implements Serializable
The FTPFile class is used to represent information about files stored on an FTP server.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    A constant indicating an FTPFile is a directory.
    static final int
    A constant indicating file execute permission or directory listing permission.
    static final int
    A constant indicating an FTPFile is a file.
    static final int
    A constant indicating group access permissions.
    static final int
    A constant indicating file/directory read permission.
    static final int
    A constant indicating an FTPFile is a symbolic link.
    static final int
    A constant indicating an FTPFile is of unknown type.
    static final int
    A constant indicating user access permissions.
    static final int
    A constant indicating world access permissions.
    static final int
    A constant indicating file/directory write permission.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates an empty FTPFile.
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the name of the group owning the file.
    int
    Gets the number of hard links to this file.
    If the FTPFile is a symbolic link, this method returns the name of the file being pointed to by the symbolic link.
    Gets the name of the file.
    Gets the original FTP server raw listing used to initialize the FTPFile.
    long
    Gets the file size in bytes.
    Gets the file timestamp.
    Gets the file timestamp.
    int
    Gets the type of the file (one of the _TYPE constants), e.g., if it is a directory, a regular file, or a symbolic link.
    Gets the name of the user owning the file.
    boolean
    hasPermission(int access, int permission)
    Tests if the given access group (one of the _ACCESS constants) has the given access permission (one of the _PERMISSION constants) to the file.
    boolean
    Tests if the file is a directory.
    boolean
    Tests if the file is a regular file.
    boolean
    Tests if the file is a symbolic link.
    boolean
    Tests if the type of the file is unknown.
    boolean
    Tests whether an entry is valid or not.
    void
    Sets the name of the group owning the file.
    void
    setHardLinkCount(int links)
    Sets the number of hard links to this file.
    void
    If the FTPFile is a symbolic link, use this method to set the name of the file being pointed to by the symbolic link.
    void
    Sets the name of the file.
    void
    setPermission(int access, int permission, boolean value)
    Sets if the given access group (one of the _ACCESS constants) has the given access permission (one of the _PERMISSION constants) to the file.
    void
    setRawListing(String rawListing)
    Sets the original FTP server raw listing from which the FTPFile was created.
    void
    setSize(long size)
    Sets the file size in bytes.
    void
    Sets the file timestamp.
    void
    setType(int type)
    Sets the type of the file (DIRECTORY_TYPE, FILE_TYPE, etc.).
    void
    Sets the name of the user owning the file.
    Gets a string representation of the FTPFile information.
    Gets a string representation of the FTPFile information.
    Gets a string representation of the FTPFile information.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • FTPFile

      public FTPFile()
      Creates an empty FTPFile.
  • Method Details

    • getGroup

      public String getGroup()
      Gets the name of the group owning the file. Sometimes this will be a string representation of the group number.
      Returns:
      The name of the group owning the file.
    • getHardLinkCount

      public int getHardLinkCount()
      Gets the number of hard links to this file. This is not to be confused with symbolic links.
      Returns:
      The number of hard links to this file.
    • getLink

      public String getLink()
      If the FTPFile is a symbolic link, this method returns the name of the file being pointed to by the symbolic link. Otherwise, it returns null.
      Returns:
      The file pointed to by the symbolic link (null if the FTPFile is not a symbolic link).
    • getName

      public String getName()
      Gets the name of the file.
      Returns:
      The name of the file.
    • getRawListing

      Gets the original FTP server raw listing used to initialize the FTPFile.
      Returns:
      The original FTP server raw listing used to initialize the FTPFile.
    • getSize

      public long getSize()
      Gets the file size in bytes.
      Returns:
      The file size in bytes.
    • getTimestamp

      Gets the file timestamp. This usually the last modification time.
      Returns:
      A Calendar instance representing the file timestamp.
    • getTimestampInstant

      Gets the file timestamp. This usually the last modification time.
      Returns:
      A Calendar instance representing the file timestamp.
      Since:
      3.9.0
    • getType

      public int getType()
      Gets the type of the file (one of the _TYPE constants), e.g., if it is a directory, a regular file, or a symbolic link.
      Returns:
      The type of the file.
    • getUser

      public String getUser()
      Gets the name of the user owning the file. Sometimes this will be a string representation of the user number.
      Returns:
      The name of the user owning the file.
    • hasPermission

      public boolean hasPermission(int access, int permission)
      Tests if the given access group (one of the _ACCESS constants) has the given access permission (one of the _PERMISSION constants) to the file.
      Parameters:
      access - The access group (one of the _ACCESS constants)
      permission - The access permission (one of the _PERMISSION constants)
      Returns:
      true if isValid() is true and the associated permission is set; false otherwise.
      Throws:
      ArrayIndexOutOfBoundsException - if either of the parameters is out of range
    • isDirectory

      public boolean isDirectory()
      Tests if the file is a directory.
      Returns:
      true if the file is of type DIRECTORY_TYPE, false if not.
    • isFile

      public boolean isFile()
      Tests if the file is a regular file.
      Returns:
      true if the file is of type FILE_TYPE, false if not.
    • isSymbolicLink

      public boolean isSymbolicLink()
      Tests if the file is a symbolic link.
      Returns:
      true if the file is of type SYMBOLIC_LINK_TYPE, false if not.
    • isUnknown

      public boolean isUnknown()
      Tests if the type of the file is unknown.
      Returns:
      true if the file is of type UNKNOWN_TYPE, false if not.
    • isValid

      public boolean isValid()
      Tests whether an entry is valid or not. If the entry is invalid, only the getRawListing() method will be useful. Other methods may fail. Used in conjunction with list parsing that preserves entries that failed to parse.
      Returns:
      true if the entry is valid; false otherwise
      Since:
      3.4
      See Also:
    • setGroup

      public void setGroup(String group)
      Sets the name of the group owning the file. This may be a string representation of the group number.
      Parameters:
      group - The name of the group owning the file.
    • setHardLinkCount

      public void setHardLinkCount(int links)
      Sets the number of hard links to this file. This is not to be confused with symbolic links.
      Parameters:
      links - The number of hard links to this file.
    • setLink

      public void setLink(String link)
      If the FTPFile is a symbolic link, use this method to set the name of the file being pointed to by the symbolic link.
      Parameters:
      link - The file pointed to by the symbolic link.
    • setName

      public void setName(String name)
      Sets the name of the file.
      Parameters:
      name - The name of the file.
    • setPermission

      public void setPermission(int access, int permission, boolean value)
      Sets if the given access group (one of the _ACCESS constants) has the given access permission (one of the _PERMISSION constants) to the file.
      Parameters:
      access - The access group (one of the _ACCESS constants)
      permission - The access permission (one of the _PERMISSION constants)
      value - true if permission is allowed, false if not.
      Throws:
      ArrayIndexOutOfBoundsException - if either of the parameters is out of range
    • setRawListing

      public void setRawListing(String rawListing)
      Sets the original FTP server raw listing from which the FTPFile was created.
      Parameters:
      rawListing - The raw FTP server listing.
    • setSize

      public void setSize(long size)
      Sets the file size in bytes.
      Parameters:
      size - The file size in bytes.
    • setTimestamp

      public void setTimestamp(Calendar date)
      Sets the file timestamp. This usually the last modification time. The parameter is not cloned, so do not alter its value after calling this method.
      Parameters:
      date - A Calendar instance representing the file timestamp.
    • setType

      public void setType(int type)
      Sets the type of the file (DIRECTORY_TYPE, FILE_TYPE, etc.).
      Parameters:
      type - The integer code representing the type of the file.
    • setUser

      public void setUser(String user)
      Sets the name of the user owning the file. This may be a string representation of the user number;
      Parameters:
      user - The name of the user owning the file.
    • toFormattedString

      Gets a string representation of the FTPFile information. This currently mimics the Unix listing format. This method uses the time zone of the Calendar entry, which is the server time zone (if one was provided) otherwise it is the local time zone.

      Note: if the instance is not valid isValid(), no useful information can be returned. In this case, use getRawListing() instead.

      Returns:
      A string representation of the FTPFile information.
      Since:
      3.0
    • toFormattedString

      public String toFormattedString(String timezone)
      Gets a string representation of the FTPFile information. This currently mimics the Unix listing format. This method allows the Calendar time zone to be overridden.

      Note: if the instance is not valid isValid(), no useful information can be returned. In this case, use getRawListing() instead.

      Parameters:
      timezone - the time zone to use for displaying the time stamp If null, then use the Calendar (getTimestamp()) entry
      Returns:
      A string representation of the FTPFile information.
      Since:
      3.4
    • toString

      public String toString()
      Gets a string representation of the FTPFile information. Delegates to getRawListing()
      Overrides:
      toString in class Object
      Returns:
      A string representation of the FTPFile information.
      See Also: