Sample code for 30+ languages & platforms
Java

Get an FTP Listing Entry's Permissions

See more FTP Examples

Demonstrates the Chilkat Ftp2.GetPermissions method, which returns the permissions or status string of a cached directory-listing entry. The only argument is a zero-based index. The value is empty when the server provides no such metadata.

Background: FTP has no single standard permissions format, so what this returns depends on the server — commonly a Unix-style mode string like drwxr-xr-x, but potentially something else. Because the format varies, pair it with GetPermType to learn how to interpret the string before parsing it, rather than assuming a fixed layout.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Ftp2;

public class ChilkatExample {

    public static void main(String[] args) {
        // Demonstrates the Ftp2.GetPermissions method, which returns the permissions or status string of
        // a cached directory-listing entry.  The only argument is a zero-based index.

        Ftp2 ftp = new Ftp2();

        ftp.setHostname("ftp.example.com");
        ftp.setUsername("myFtpLogin");

        // Normally you would not hard-code the password in source.  You should instead obtain it
        // from an interactive prompt, environment variable, or a secrets vault.
        ftp.setPassword("myPassword");

        try {
            ftp.connect();

            ftp.changeRemoteDir("public_html");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // GetDirCount retrieves the directory listing on the first call and returns the number of
        // entries.  A negative return indicates failure.
        int n = ftp.getDirCount();
        if (n < 0) {
            System.out.println(ftp.getLastErrorText());
            return;
        }

        for (int i = 0; i < n; i++) {
            String name = ftp.getFilename(i);

            // The permissions string is empty when the server provides no such metadata.  Use
            // GetPermType to learn how to interpret the string's format.
            String perms = ftp.getPermissions(i);
            System.out.println(perms + "  " + name);
        }

        try {
            ftp.disconnect();
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }
    }
}