java設置文件權限
當前實例版本:54 0 評論 2247 瀏覽 發布於:2013年12月02 20:22 編輯+新實例

在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");

文件權限的例子

package com.yiibai.file;
 
import java.io.File;
import java.io.IOException;
 
public class FilePermissionExample 
{
    public static void main( String[] args )
    {	
    	try {
 
	      File file = new File("/mkyong/shellscript.sh");
 
	      if(file.exists()){
	    	  System.out.println("Is Execute allow : " + file.canExecute());
		  System.out.println("Is Write allow : " + file.canWrite());
		  System.out.println("Is Read allow : " + file.canRead());
	      }
 
	      file.setExecutable(false);
	      file.setReadable(false);
	      file.setWritable(false);
 
	      System.out.println("Is Execute allow : " + file.canExecute());
	      System.out.println("Is Write allow : " + file.canWrite());
	      System.out.println("Is Read allow : " + file.canRead());
 
	      if (file.createNewFile()){
	        System.out.println("File is created!");
	      }else{
	        System.out.println("File already exists.");
	      }
 
    	} catch (IOException e) {
	      e.printStackTrace();
	    }
    }
}

參考

  1. http://java.sun.com/javase/6/docs/api/java/io/File.html