Package org.apache.commons.net.ftp
Class FTPFile
java.lang.Object
org.apache.commons.net.ftp.FTPFile
- All Implemented Interfaces:
Serializable
The FTPFile class is used to represent information about files stored on an FTP server.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Calendarstatic final intA constant indicating an FTPFile is a directory.static final intA constant indicating file execute permission or directory listing permission.static final intA constant indicating an FTPFile is a file.private Stringstatic final intA constant indicating group access permissions.private int0 is invalid as a link count.private Stringprivate Stringprivate final boolean[][]If this is null, then list entry parsing failed.private Stringstatic final intA constant indicating file/directory read permission.private static final longprivate long0 is valid, so use -1.static final intA constant indicating an FTPFile is a symbolic link.private intstatic final intA constant indicating an FTPFile is of unknown type.private Stringstatic final intA constant indicating user access permissions.static final intA constant indicating world access permissions.static final intA constant indicating file/directory write permission. -
Constructor Summary
ConstructorsConstructorDescriptionFTPFile()Creates an empty FTPFile.Constructor for use byFTPListParseEngineonly. -
Method Summary
Modifier and TypeMethodDescriptionprivate chargetGroup()Gets the name of the group owning the file.intGets the number of hard links to this file.getLink()If the FTPFile is a symbolic link, this method returns the name of the file being pointed to by the symbolic link.getName()Gets the name of the file.Gets the original FTP server raw listing used to initialize the FTPFile.longgetSize()Gets the file size in bytes.Gets the file timestamp.Gets the file timestamp.intgetType()Gets the type of the file (one of the_TYPEconstants), e.g., if it is a directory, a regular file, or a symbolic link.getUser()Gets the name of the user owning the file.booleanhasPermission(int access, int permission) Tests if the given access group (one of the_ACCESSconstants) has the given access permission (one of the_PERMISSIONconstants) to the file.booleanTests if the file is a directory.booleanisFile()Tests if the file is a regular file.booleanTests if the file is a symbolic link.booleanTests if the type of the file is unknown.booleanisValid()Tests whether an entry is valid or not.private StringpermissionToString(int access) private voidvoidSets the name of the group owning the file.voidsetHardLinkCount(int links) Sets the number of hard links to this file.voidIf the FTPFile is a symbolic link, use this method to set the name of the file being pointed to by the symbolic link.voidSets the name of the file.voidsetPermission(int access, int permission, boolean value) Sets if the given access group (one of the_ACCESSconstants) has the given access permission (one of the_PERMISSIONconstants) to the file.voidsetRawListing(String rawListing) Sets the original FTP server raw listing from which the FTPFile was created.voidsetSize(long size) Sets the file size in bytes.voidsetTimestamp(Calendar date) Sets the file timestamp.voidsetType(int type) Sets the type of the file (DIRECTORY_TYPE,FILE_TYPE, etc.).voidSets the name of the user owning the file.Gets a string representation of the FTPFile information.toFormattedString(String timezone) Gets a string representation of the FTPFile information.toString()Gets a string representation of the FTPFile information.private void
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
FILE_TYPE
public static final int FILE_TYPEA constant indicating an FTPFile is a file.- See Also:
-
DIRECTORY_TYPE
public static final int DIRECTORY_TYPEA constant indicating an FTPFile is a directory.- See Also:
-
SYMBOLIC_LINK_TYPE
public static final int SYMBOLIC_LINK_TYPEA constant indicating an FTPFile is a symbolic link.- See Also:
-
UNKNOWN_TYPE
public static final int UNKNOWN_TYPEA constant indicating an FTPFile is of unknown type.- See Also:
-
USER_ACCESS
public static final int USER_ACCESSA constant indicating user access permissions.- See Also:
-
GROUP_ACCESS
public static final int GROUP_ACCESSA constant indicating group access permissions.- See Also:
-
WORLD_ACCESS
public static final int WORLD_ACCESSA constant indicating world access permissions.- See Also:
-
READ_PERMISSION
public static final int READ_PERMISSIONA constant indicating file/directory read permission.- See Also:
-
WRITE_PERMISSION
public static final int WRITE_PERMISSIONA constant indicating file/directory write permission.- See Also:
-
EXECUTE_PERMISSION
public static final int EXECUTE_PERMISSIONA constant indicating file execute permission or directory listing permission.- See Also:
-
type
private int type -
hardLinkCount
private int hardLinkCount0 is invalid as a link count. -
size
private long size0 is valid, so use -1. -
rawListing
-
user
-
group
-
name
-
link
-
calendar
-
permissions
private final boolean[][] permissionsIf this is null, then list entry parsing failed.
-
-
Constructor Details
-
FTPFile
public FTPFile()Creates an empty FTPFile. -
FTPFile
FTPFile(String rawListing) Constructor for use byFTPListParseEngineonly. Used to create FTPFile entries for failed parses- Parameters:
rawListing- line that could not be parsed.- Since:
- 3.4
-
-
Method Details
-
formatType
private char formatType() -
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
If the FTPFile is a symbolic link, this method returns the name of the file being pointed to by the symbolic link. Otherwise, it returnsnull.- Returns:
- The file pointed to by the symbolic link (
nullif the FTPFile is not a symbolic link).
-
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_TYPEconstants), e.g., if it is a directory, a regular file, or a symbolic link.- Returns:
- The type of the file.
-
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_ACCESSconstants) has the given access permission (one of the_PERMISSIONconstants) to the file.- Parameters:
access- The access group (one of the_ACCESSconstants)permission- The access permission (one of the_PERMISSIONconstants)- Returns:
trueifisValid()istrueand the associated permission is set;falseotherwise.- Throws:
ArrayIndexOutOfBoundsException- if either of the parameters is out of range
-
isDirectory
public boolean isDirectory()Tests if the file is a directory.- Returns:
trueif the file is of typeDIRECTORY_TYPE,falseif not.
-
isFile
public boolean isFile()Tests if the file is a regular file.- Returns:
trueif the file is of typeFILE_TYPE,falseif not.
-
isSymbolicLink
public boolean isSymbolicLink()Tests if the file is a symbolic link.- Returns:
trueif the file is of typeSYMBOLIC_LINK_TYPE,falseif not.
-
isUnknown
public boolean isUnknown()Tests if the type of the file is unknown.- Returns:
trueif the file is of typeUNKNOWN_TYPE,falseif not.
-
isValid
public boolean isValid()Tests whether an entry is valid or not. If the entry is invalid, only thegetRawListing()method will be useful. Other methods may fail. Used in conjunction with list parsing that preserves entries that failed to parse.- Returns:
trueif the entry is valid;falseotherwise- Since:
- 3.4
- See Also:
-
permissionToString
-
readObject
-
setGroup
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
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
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_ACCESSconstants) has the given access permission (one of the_PERMISSIONconstants) to the file.- Parameters:
access- The access group (one of the_ACCESSconstants)permission- The access permission (one of the_PERMISSIONconstants)value-trueif permission is allowed,falseif not.- Throws:
ArrayIndexOutOfBoundsException- if either of the parameters is out of range
-
setRawListing
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
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
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, usegetRawListing()instead.- Returns:
- A string representation of the FTPFile information.
- Since:
- 3.0
-
toFormattedString
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, usegetRawListing()instead.- Parameters:
timezone- the time zone to use for displaying the time stamp Ifnull, then use the Calendar (getTimestamp()) entry- Returns:
- A string representation of the FTPFile information.
- Since:
- 3.4
-
toString
Gets a string representation of the FTPFile information. Delegates togetRawListing() -
writeObject
-