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();
    }
 }
}
Advertisements
Categories: File
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: