Home > File > Thiết đặt permission cho file trong Java

Thiết đặt permission cho file trong Java

Trong Java, đối với mỗi hệ điều hành ( *nix, NTFS (windows), FAT/FAT32 ) sẽ có những loại file permissions khác nhau. Java cung cấp một vài phương thức hữu ích để thiết đặt permission cho file.

Kiểm tra permission : 

  • file.canExecute() : trả về true nếu file có thể thực thi được, false nếu ngược lại
  • file.canWrite() : trả về true nếu file có thể ghi được, false nếu ngược lại
  • file.canRead(): trả về true nếu file có thể đọc được, false nếu ngược lại

Thiết đặt permission : 

  • file.setExecutable(boolean) 
  • file.setReadable(boolean)
  • file.setWriteable(boolean)

Trong hệ thống *nix, bạn có thể cần thêm các cấu hình đặc biệt cho file permission, chẳng hạn như thiết đặt permission 777 cho một file hoặc thư mục, tuy nhiên, lớp Java IO không có sẵn phương thức để làm việc đó, nhưng bạn có thể sử dụng cách sau để khắc phục :

Runtime.getRuntime().exec("chmod 777 file");

Ví dụ : 

package quyetdv.java.javaio.file;
import java.io.File;
import java.io.IOException;
public class FilePermission {
public static void main(String[] args) {
    try {
        File file = new File("test1.txt");
        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(true);
    file.setReadable(true);
    file.setWritable(true);
    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();
    }
 }
}
Categories: File
  1. No comments yet.
  1. No trackbacks yet.

Leave a comment