Class SFtpFile

java.lang.Object
com.chilkatsoft.chilkat2.ChilkatObject
com.chilkatsoft.chilkat2.SFtpFile
All Implemented Interfaces:
AutoCloseable

public class SFtpFile extends ChilkatObject
<section class="sftpfile-summary">

Inspect metadata for a file, directory, symlink, or special item in an SFTP listing.

Chilkat.SFtpFile represents one entry returned from an SFTP directory listing. It exposes the entry name, file type, size, ownership, permissions, timestamps, and server-provided attribute flags such as hidden, read-only, archive, immutable, encrypted, compressed, sparse, append-only, system, and synchronization status. It is typically used together with Chilkat.SFtpDir when iterating a remote directory and deciding how each entry should be displayed, filtered, downloaded, skipped, or processed.

Name and type

Read Filename and FileType, or use convenience flags such as IsRegular, IsDirectory, and IsSymLink.

File sizes

Access the entry size as a 32-bit integer, 64-bit integer, or decimal string using Size32, Size64, or SizeStr.

Timestamps

Inspect creation, last-access, and last-modified times as date/time values or RFC822-formatted strings when supported by the server.

Ownership

Read numeric user and group IDs, and when the server supports it, textual owner and group names.

Permissions

Inspect the POSIX-style permissions bit mask for read, write, execute, set-user-ID, set-group-ID, and sticky-bit information.

Extended attributes

Check server-provided flags such as hidden, read-only, archive, immutable, encrypted, compressed, sparse, append-only, system, and sync.

Common pattern: Retrieve a directory listing with Chilkat.SFtp, iterate its Chilkat.SFtpDir entries, and populate a Chilkat.SFtpFile object for each item. Use the file type, timestamps, size, permissions, and attribute flags to decide whether the entry is a regular file, directory, symlink, or special item and how the application should handle it.

Server-version note: Some metadata is only available from newer SFTP protocol versions. For example, textual owner/group information and creation time require SFTP v4 or later, while many extended attribute flags such as read-only, archive, immutable, compressed, encrypted, sparse, append-only, and system require SFTP v6 or later.

</section>

Instances hold a native Chilkat object: close them with ChilkatObject.close() (try-with-resources) when done; an unclosed instance is freed when it becomes unreachable.

See Also:
Online reference
  • Constructor Details

    • SFtpFile

      public SFtpFile()
      Creates a new SFtpFile object.
  • Method Details

    • getCreateTimeStr

      public String getCreateTimeStr()
      Returns the file creation date and time as an RFC 822-formatted string, such as Fri, 21 Nov 1997 09:55:06 -0600.

      Server requirement: Creation-time metadata is available only when the server supports SFTP version 4 or later and provides this attribute.

      Returns:
      the value of the CreateTimeStr property (read-only)
    • getFileType

      public String getFileType()
      Identifies the type of directory entry. The returned value is one of the following:

      Value Meaning

      regular A regular file.

      directory A directory.

      symLink A symbolic link.

      special A special file whose more specific type is not reported.

      unknown The type is unknown or was not provided by the server.

      socket A socket.

      charDevice A character device.

      blockDevice A block device.

      fifo A FIFO (named pipe).

      The convenience properties getIsRegular(), getIsDirectory(), and getIsSymLink() may be used for the most common entry types.

      Returns:
      the value of the FileType property (read-only)
    • getFilename

      public String getFilename()
      Returns the name of the directory entry. Depending on the entry type, this may be a regular filename, directory name, symbolic-link name, or the name of another special filesystem object.
      Returns:
      the value of the Filename property (read-only)
    • getGid

      public int getGid()
      Returns the numeric group ID associated with the file.
      Returns:
      the value of the Gid property (read-only)
    • getGroup

      public String getGroup()
      Returns the textual group name associated with the file.

      Server requirement: This attribute is available only when the server supports SFTP version 4 or later and provides owner/group names.

      Returns:
      the value of the Group property (read-only)
    • getIsAppendOnly

      public boolean getIsAppendOnly()
      Returns true if the server marks the file as append-only. New data may be added only at the end of the file; existing data cannot be overwritten through normal file writes.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsAppendOnly property (read-only)
    • getIsArchive

      public boolean getIsArchive()
      Returns true if the server marks the file for inclusion in backup or archive operations.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsArchive property (read-only)
    • getIsCaseInsensitive

      public boolean getIsCaseInsensitive()
      Applies to directories. Returns true when names within the directory should be compared without regard to letter case.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsCaseInsensitive property (read-only)
    • getIsCompressed

      public boolean getIsCompressed()
      Returns true if the file is stored using transparent filesystem-level compression on the server.

      This attribute describes how the server stores the file. It does not change the file bytes transferred through SFTP.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsCompressed property (read-only)
    • getIsDirectory

      public boolean getIsDirectory()
      Returns true if the directory entry is a directory.
      Returns:
      the value of the IsDirectory property (read-only)
    • getIsEncrypted

      public boolean getIsEncrypted()
      Returns true if the file is stored using transparent filesystem-level encryption on the server.

      This attribute describes storage at rest. It does not alter the file bytes returned by read operations or accepted by write operations.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsEncrypted property (read-only)
    • getIsHidden

      public boolean getIsHidden()
      Returns true if the server marks the entry as hidden. Hidden entries are normally omitted from user-facing displays unless the user specifically requests them.
      Returns:
      the value of the IsHidden property (read-only)
    • getIsImmutable

      public boolean getIsImmutable()
      Returns true if the server marks the file as immutable. An immutable file cannot normally be deleted, renamed, modified, or used as the target of a new hard link.

      Immutability is generally stronger than read-only status, the ordinary permission mask, or an access-control list. On many systems, only a privileged administrator can set or clear this attribute.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsImmutable property (read-only)
    • getIsReadOnly

      public boolean getIsReadOnly()
      Returns true if the server marks the file as read-only.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsReadOnly property (read-only)
    • getIsRegular

      public boolean getIsRegular()
      Returns true if the directory entry is a regular file rather than a directory, symbolic link, device, socket, FIFO, or other special type.
      Returns:
      the value of the IsRegular property (read-only)
    • getIsSparse

      public boolean getIsSparse()
      Returns true if the server identifies the file as sparse. A sparse file can contain unwritten regions, often called holes, that read as zero bytes without consuming equivalent physical disk space.

      For example, writing data at an offset of 10 MB may leave the region between the previous end of file and that offset unallocated on disk.

      Some servers store all files sparsely and may always set this flag. Other servers cannot reliably determine whether a file is sparse, so a file may be sparse even when this property is false.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsSparse property (read-only)
    • getIsSymLink

      public boolean getIsSymLink()
      Returns true if the directory entry is a symbolic link.
      Returns:
      the value of the IsSymLink property (read-only)
    • getIsSync

      public boolean getIsSync()
      Returns true if modifications to the file are committed synchronously to server storage.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsSync property (read-only)
    • getIsSystem

      public boolean getIsSystem()
      Returns true if the server marks the file as part of the operating system.

      Server requirement: This attribute is defined for SFTP version 6 or later.

      Returns:
      the value of the IsSystem property (read-only)
    • getLastAccessTimeStr

      public String getLastAccessTimeStr()
      Returns the file's last-access date and time as an RFC 822-formatted string, such as Fri, 21 Nov 1997 09:55:06 -0600.
      Returns:
      the value of the LastAccessTimeStr property (read-only)
    • getLastModifiedTimeStr

      public String getLastModifiedTimeStr()
      Returns the file's last-modified date and time as an RFC 822-formatted string, such as Fri, 21 Nov 1997 09:55:06 -0600.

      Use LastModifiedTime when a native date/time value is more convenient.

      Returns:
      the value of the LastModifiedTimeStr property (read-only)
    • getOwner

      public String getOwner()
      Returns the textual owner name associated with the file.

      Server requirement: This attribute is available only when the server supports SFTP version 4 or later and provides owner/group names.

      Returns:
      the value of the Owner property (read-only)
    • getPermissions

      public int getPermissions()
      Returns the POSIX-style file-permission bit mask. The values correspond to the permission and special-mode bits in the POSIX st_mode field.

      Symbol Octal value Meaning

      S_IRUSR 0400 Owner read

      S_IWUSR 0200 Owner write

      S_IXUSR 0100 Owner execute

      S_IRGRP 0040 Group read

      S_IWGRP 0020 Group write

      S_IXGRP 0010 Group execute

      S_IROTH 0004 Others read

      S_IWOTH 0002 Others write

      S_IXOTH 0001 Others execute

      S_ISUID 4000 Set-user-ID

      S_ISGID 2000 Set-group-ID

      S_ISVTX 1000 Sticky bit

      Use bitwise AND operations to test individual permission bits.

      Returns:
      the value of the Permissions property (read-only)
    • getSize32

      public int getSize32()
      Returns the file size in bytes as a 32-bit integer. Returns -1 when the size cannot be represented by a 32-bit integer. Use getSize64() or getSizeStr() for larger values.
      Returns:
      the value of the Size32 property (read-only)
    • getSize64

      public long getSize64()
      Returns the file size in bytes as a 64-bit integer.
      Returns:
      the value of the Size64 property (read-only)
    • getSizeStr

      public String getSizeStr()
      Returns the file size in bytes as a base-10 string. This is the string representation of getSize64() and is useful in environments where a 64-bit integer is inconvenient or unavailable.
      Returns:
      the value of the SizeStr property (read-only)
    • getUid

      public int getUid()
      Returns the numeric user ID associated with the file.
      Returns:
      the value of the Uid property (read-only)