在Java中,文件权限是非常具体的操作系统:* nix中,NTFS(Windows)及FAT/FAT32,都有着别样的文件权限。 Java提供了一些通用的文件权限来处理它。

  检查文件权限允许:

  1.file.canExecute(); – 返回true,文件是可执行的,false 则不是。

  2.file.canWrite(); – 返回true,文件是可写的,false 则不是。

  3.file.canRead(); – 返回true,文件是可读的,false 则不是。

  设置文件权限:

 

1.file.setExecutable(boolean); – true允许执行操作; false则是禁止它。
  2.file.setReadable(boolean); – true允许读操作; false则是禁止它。
  3.file.setWritable(boolean); – true允许写操作; false则是禁止它。
  在* nix的系统中,可能需要配置有关文件权限的详细指定,例如设置777权限的文件或目录,但是,Java的IO类没有现成的方法,但你可以使用下面的解决方法:
  Runtime.getRuntime().exec("chmod 777 file");文件权限的例子
  代码如下 复制代码
  import java.io.File;
  import java.io.IOException;
  /×
  ×只能给当前用户赋予对该文件的权限,调用createNewFile()方法默认的权限是644.
  ×/
  public class FilePermission
  {
  public static void main( String[] args )
  {
  try {
  File file = new File("/home/test3.txt");
  if (file.createNewFile()){
  System.out.println("File is created!");
  //Runtime.getRuntime().exec("chmod 777 /home/test3.txt");
  file.setExecutable(true);//设置可执行权限
  file.setReadable(true);//设置可读权限
  file.setWritable(true);//设置可写权限
  System.out.println("is execute allow : " + file.canExecute());
  System.out.println("is read allow : " + file.canRead());
  System.out.println("is write allow : " + file.canWrite());
  }else{
  System.out.println("File already exists.");
  }
  } catch (IOException e) {
  e.printStackTrace();
  }
  }

  学真正Java技术,当然选疯狂软件Java培训机构,打造国内标准Java人才