前言
自从1.7版本开始,Java引入了Nio包,提供了更强大的IO功能。
本文简单介绍如何用java.nio.file.attribute下的工具类修改文件的权限,用户和组。因为本类库是针对Posix类系统的的,所以主要适用于Linux和Mac上(实测Win7不支持)。
测试样例
测试代码如下:
public class FileTest {
public static void main(String[] args) throws Exception {
// 检查操作系统是否支持posix。
// 一般像mac和linux都支持,经测试win7不支持
boolean supportPosix = FileSystems.getDefault().supportedFileAttributeViews().contains("posix");
if (!supportPosix) {
System.out.println("Your OS does not support posix.");
return;
}
// 将要设置的权限:用户,组,以及三组读/写/执行的权限
String owner = "testowner";
String group = "testgroup";
PosixFilePermission[] permissions = {
PosixFilePermission.OWNER_READ,
PosixFilePermission.OWNER_WRITE,
PosixFilePermission.OWNER_EXECUTE,
PosixFilePermission.GROUP_READ,
PosixFilePermission.GROUP_WRITE,
PosixFilePermission.GROUP_EXECUTE,
PosixFilePermission.OTHERS_READ