Javaでは、ファイルのアクセス権はOS特有のものです。** nix、NTFS(Windows)、FAT/FAT32はすべて異なる種類のファイルアクセス権を持っています。 Javaには、それに対処するための一般的なファイルアクセス許可が付属しています。
それを禁止する。
-
file.setReadable(boolean); – true、読み取り操作を許可します. falseにする
それを禁止する。
-
file.setWritable(boolean); – true、書き込み操作を許可します. falseにする
それを禁止する。
-
nixシステムでは、ファイルのアクセス許可をmore指定する必要があります。たとえば、ファイルやディレクトリに対して777のアクセス権を設定します。ただし、Java IOクラスにはreadyメソッドはありませんが、
Runtime.getRuntime().exec("chmod 777 file");
ファイルアクセス許可の例
package com.mkyong.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();
}
}
}