如何使用JAVA在linux中更改传入文件的权限
目标
我希望无论何时有人上传/opt/file/incoming目录中的文件(名称为Accounts 0998.csv)。其权限更改为chmod 664,即rw-rw-r 我正在使用linux
我想自动化这个过程,所以我正在编写一个java程序,但它可以工作
package com.reader.file;
import java.io.File;
import java.io.IOException;
public class GrantPermission
{
public static void main( String[] args )
{
try {
File file = new File("/opt/file/Accounts 0998.csv");
if(file.exists()){
System.out.println("File exists.");
//using PosixFilePermission to set file permissions 664
Set<PosixFilePermission> perms = new
HashSet<PosixFilePermission>();
//add owners permission
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_WRITE);
//add group permissions
perms.add(PosixFilePermission.GROUP_READ);
perms.add(PosixFilePermission.GROUP_WRITE);
//add others permissions
perms.add(PosixFilePermission.OTHERS_READ);
Files.setPosixFilePermissions(file.toPath(), perms);
} catch (IOException e) {
e.printStackTrace();
}
}
else{
System.out.println("File does not exists.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
其他信息
我使用WSO2 ESB it首先搜索一个文件,然后如果文件存在,那么我想更改其权限(通过使用类中介,即JAVA),然后将其移动到另一个目录,但我的目标是将文件权限更改为rw-rw-r
# 1 楼答案
您可以使用NIO。2如果您使用的是java7或更高版本
见:
How do i programmatically change file permissions?