Example usage for java.nio.file.attribute PosixFileAttributes owner

List of usage examples for java.nio.file.attribute PosixFileAttributes owner

Introduction

In this page you can find the example usage for java.nio.file.attribute PosixFileAttributes owner.

Prototype

UserPrincipal owner();

Source Link

Document

Returns the owner of the file.

Usage

From source file:Test.java

public static void main(String[] args) throws Exception {
    Path path = Paths.get("home/docs/users.txt");
    PosixFileAttributeView view = Files.getFileAttributeView(path, PosixFileAttributeView.class);

    PosixFileAttributes attributes = view.readAttributes();
    System.out.println("Group: " + attributes.group());
    System.out.println("Owner: " + attributes.owner().getName());

    Set<PosixFilePermission> permissions = attributes.permissions();
    for (PosixFilePermission permission : permissions) {
        System.out.print(permission.name() + " ");
    }//from  ww w .ja  v  a  2s  .c o m
}

From source file:Main.java

public static void main(String[] args) throws Exception {

    Path path = Paths.get("c:/home/tutorial/Java/JavaFX/Topic.txt");

    PosixFileAttributes attr = Files.readAttributes(path, PosixFileAttributes.class);
    attr = Files.getFileAttributeView(path, PosixFileAttributeView.class).readAttributes();

    System.out.println("File owner: " + attr.owner().getName());
    System.out.println("File group: " + attr.group().getName());
    System.out.println("File permissions: " + attr.permissions().toString());

}

From source file:Test.java

public static void main(String[] args) throws Exception {

    Path profile = Paths.get("/user/Admin/.profile");

    PosixFileAttributes attrs = Files.readAttributes(profile, PosixFileAttributes.class);

    Set<PosixFilePermission> posixPermissions = attrs.permissions();
    posixPermissions.clear();//w  w  w .j  a v  a 2 s  . c om

    String owner = attrs.owner().getName();
    String perms = PosixFilePermissions.toString(posixPermissions);
    System.out.format("%s %s%n", owner, perms);

    posixPermissions.add(OWNER_READ);
    posixPermissions.add(GROUP_READ);
    posixPermissions.add(OWNER_READ);
    posixPermissions.add(OWNER_WRITE);
    Files.setPosixFilePermissions(profile, posixPermissions);

}

From source file:Test.java

private static void listPermissions(Path path) throws Exception {
    System.out.println("Permission for " + path.getFileName());
    PosixFileAttributeView view = Files.getFileAttributeView(path, PosixFileAttributeView.class);

    PosixFileAttributes attributes = view.readAttributes();

    System.out.println("Group: " + attributes.group().getName());
    System.out.println("Owner: " + attributes.owner().getName());

    Set<PosixFilePermission> permissions = attributes.permissions();

    System.out.print("Permissions: ");
    for (PosixFilePermission permission : permissions) {
        System.out.print(permission.name() + " ");
    }//from w w w .j av a 2s. c o m
}

From source file:Test.java

private static void setGroupPrincipal(Path path, String userName, String groupName) throws Exception {
    System.out.println("Setting owner for " + path.getFileName());
    PosixFileAttributeView view = Files.getFileAttributeView(path, PosixFileAttributeView.class);

    PosixFileAttributes attributes = view.readAttributes();
    System.out.println("Old Group: " + attributes.group().getName());
    System.out.println("Old Owner: " + attributes.owner().getName());

    UserPrincipalLookupService lookupService = FileSystems.getDefault().getUserPrincipalLookupService();
    UserPrincipal userPrincipal = lookupService.lookupPrincipalByName(userName);
    GroupPrincipal groupPrincipal = lookupService.lookupPrincipalByGroupName(groupName);
    view.setGroup(groupPrincipal);//from  w ww . j av a 2  s . c om
    view.setOwner(userPrincipal);

    attributes = view.readAttributes();
    System.out.println("New Group: " + attributes.group().getName());
    System.out.println("New Owner: " + attributes.owner().getName());
}

From source file:org.eclipse.tycho.plugins.tar.TarGzArchiver.java

private TarArchiveEntry createTarEntry(File tarRootDir, File source) throws IOException {
    String pathInTar = slashify(tarRootDir.toPath().relativize(source.toPath()));
    log.debug("Adding entry " + pathInTar);
    TarArchiveEntry tarEntry;// w w w .j  a v  a2 s.co  m
    if (isSymbolicLink(source) && resolvesBelow(source, tarRootDir)) {
        // only create symlink entry if link target is inside archive
        tarEntry = new TarArchiveEntry(pathInTar, TarArchiveEntry.LF_SYMLINK);
        tarEntry.setLinkName(slashify(getRelativeSymLinkTarget(source, source.getParentFile())));
    } else {
        tarEntry = new TarArchiveEntry(source, pathInTar);
    }
    PosixFileAttributes attrs = getAttributes(source);
    if (attrs != null) {
        tarEntry.setUserName(attrs.owner().getName());
        tarEntry.setGroupName(attrs.group().getName());
        tarEntry.setMode(FilePermissionHelper.toOctalFileMode(attrs.permissions()));
    }
    tarEntry.setModTime(source.lastModified());
    return tarEntry;
}

From source file:de.jwi.jfm.FileWrapper.java

public String getAttributes() throws IOException {
    FileSystem fileSystem = FileSystems.getDefault();
    Set<String> fileSystemViews = fileSystem.supportedFileAttributeViews();

    File file = getFile();/*from w  w  w. j a v a  2s  .  c o m*/
    Path p = file.toPath();

    try {
        if (fileSystemViews.contains("posix")) {
            Set<PosixFilePermission> posixFilePermissions = Files.getPosixFilePermissions(p,
                    LinkOption.NOFOLLOW_LINKS);

            PosixFileAttributes attrs = Files.getFileAttributeView(p, PosixFileAttributeView.class)
                    .readAttributes();

            String owner = attrs.owner().toString();
            String group = attrs.group().toString();

            String permissions = PosixFilePermissions.toString(attrs.permissions());

            String res = String.format("%s %s %s", permissions, owner, group);
            return res;
        } else if (fileSystemViews.contains("dos")) {
            StringWriter sw = new StringWriter();
            DosFileAttributeView attributeView = Files.getFileAttributeView(p, DosFileAttributeView.class);
            DosFileAttributes dosFileAttributes = null;

            dosFileAttributes = attributeView.readAttributes();
            if (dosFileAttributes.isArchive()) {
                sw.append('A');
            }
            if (dosFileAttributes.isHidden()) {
                sw.append('H');
            }
            if (dosFileAttributes.isReadOnly()) {
                sw.append('R');
            }
            if (dosFileAttributes.isSystem()) {
                sw.append('S');
            }

            return sw.toString();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return "";
}

From source file:org.eclipse.tycho.plugins.tar.TarGzArchiverTest.java

@Test
public void testCreateArchiveOwnerAndGroupPreserved() throws Exception {
    PosixFileAttributes attrs = getPosixFileAttributes(testOwnerAndGroupFile);
    archiver.createArchive();//from   www.j a  v a  2 s  .com
    TarArchiveEntry testOwnerAndGroupNameEntry = getTarEntries().get("dir2/testOwnerAndGroupName");
    assertEquals(attrs.owner().getName(), testOwnerAndGroupNameEntry.getUserName());
    assertEquals(attrs.group().getName(), testOwnerAndGroupNameEntry.getGroupName());
}

From source file:org.application.backupsync.PathName.java

public JSONObject getAttrs() throws IOException, JSONException {
    JSONObject result;/*  w  ww .j a va  2 s.c  om*/
    BasicFileAttributes attr;
    DosFileAttributes dosAttr;
    PosixFileAttributes posixAttr;

    result = new JSONObject();
    attr = Files.readAttributes(this.path, BasicFileAttributes.class);

    result.append("ctime", attr.creationTime().toMillis());
    result.append("mtime", attr.lastModifiedTime().toMillis());
    //result.append("symlink", attr.isSymbolicLink()); //Redundant
    result.append("size", attr.size());

    if (System.getProperty("os.name").startsWith("Windows")) {
        dosAttr = Files.readAttributes(this.path, DosFileAttributes.class);

        result.append("dos:archive", dosAttr.isArchive());
        result.append("dos:hidden", dosAttr.isHidden());
        result.append("dos:readonly", dosAttr.isReadOnly());
        result.append("dos:system", dosAttr.isSystem());
    } else {
        posixAttr = Files.readAttributes(this.path, PosixFileAttributes.class);

        result.append("posix:symlink", posixAttr.isSymbolicLink());
        result.append("posix:owner", posixAttr.owner());
        result.append("posix:group", posixAttr.group());
        result.append("posix:permission", PosixFilePermissions.toString(posixAttr.permissions()));
    }

    return result;
}