使用Java修改Linux的文件或文件夹权限

今天做功能碰到了一个情况: 需要在程序中自动在linux的根目录创建一个路径,并往里存图片。

开始只是简单的将图片移动到指定的路径中,竟然无法访问。竟分析后发现是因为文件夹和文件的权限不够导致。

以下代码是将文件夹和文件的权限进行修改的:

/**

* 图片上传
* @param file
* @param filename
* @throws IllegalStateException
* @throws IOException
* Seven
* 2018年1月22日 下午4:13:48
*/
@Override
public void storeFile(File file, String filename) throws IllegalStateException, IOException {
File dest = new File(pathResolver.getPath(filename, prefix));
   FileUtils.moveFile(file, dest);
   //设置权限
   Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
   perms.add(PosixFilePermission.OWNER_READ); //设置所有者的读取权限
   perms.add(PosixFilePermission.OWNER_WRITE); //设置所有者的写权限
   perms.add(PosixFilePermission.OWNER_EXECUTE); //设置所有者的执行权限
   perms.add(PosixFilePermission.GROUP_READ); //设置组的读取权限
   perms.add(PosixFilePermission.GROUP_EXECUTE); //设置组的读取权限
   perms.add(PosixFilePermission.OTHERS_READ); //设置其他的读取权限
   perms.add(PosixFilePermission.OTHERS_EXECUTE); //设置其他的读取权限
   try {
    //设置文件和文件夹的权限
    Path pathParent = Paths.get(dest.getParentFile().getAbsolutePath());
       Path pathDest = Paths.get(dest.getAbsolutePath());  
       Files.setPosixFilePermissions(pathParent, perms);   //修改文件夹路径的权限
       Files.setPosixFilePermissions(pathDest, perms);  //修改图片文件的权限
   } catch (Exception e) {
       logger.info(e.getMessage());
   }
}

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值