プログラミング勉強日記
2021年1月4日
ファイルにアクセスしたらファイルの権限がなく、プログラムが実装できないことがある。フォルダも同様に権限を取得する必要があるので、その方法を簡単にまとめる。
java.ioでフォルダの権限を取得する方法
java.ioは古いAPIである。
フォルダの権限はjava.io.FileクラスのcanWtriteメソッドやisHiddenメソッドで取得する。
import java.io.File;
public class Sample {
public static void main(String[] args) {
File file = new File("c:\\test");
if (file.canWrite()) {
System.out.println("書き込みできます");
} else {
System.out.println("読み取り専用です");
}
if (file.isHidden()) {
System.out.println("隠しファイルです");
} else {
System.out.println("隠しファイルではありません");
}
}
}
java.nioでフォルダの権限を取得する方法
java.nioはJava7から機能を改善した新しいAPIである。
フォルダの権限はjava.nio.FilesクラスのgetAttributeメソッドで取得する。
サンプルコード
import java.nio.Files;
public class Sample {
public static void main(String[] args) {
Path path = Paths.get("c:\\test");
// 読み取り専用なら”true”
System.out.println(Files.getAttribute(path, "dos:readonly"));
// 隠しファイルなら”true”
System.out.println(Files.getAttribute(path, "dos:hidden"));
}
}