概要
Javaで「ファイルの状態を調べる(実行可能/隠しファイル/読み取り/書き込み/シンボリック・リンク)」の動作を確認してみました。以下のページを参考にしました。
実装
以下のファイルを作成しました。
JSample7_1.java
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.*;
class JSample7_1{
public static void main(String[] args){
Path p1 = Paths.get("doc/memo1.txt");
Path p2 = Paths.get("doc/.memo2.txt");
Path p3 = Paths.get("doc/memo3.txt");
checkFile(p1);
checkFile(p2);
checkFile(p3);
}
private static void checkFile(Path p){
System.out.println("ファイル名:" + p.getFileName());
try{
if (Files.isExecutable(p)){
System.out.println("実行可能:○");
}else{
System.out.println("実行可能:✕");
}
if (Files.isHidden(p)){
System.out.println("隠しファイル:○");
}else{
System.out.println("隠しファイル:✕");
}
if (Files.isReadable(p)){
System.out.println("読み取り:○");
}else{
System.out.println("読み取り:✕");
}
if (Files.isWritable(p)){
System.out.println("書き込み:○");
}else{
System.out.println("書き込み:✕");
}
if (Files.isSymbolicLink(p)){
System.out.println("シンボリック・リンク:○");
}else{
System.out.println("シンボリック・リンク:✕");
}
}catch(IOException e){
System.out.println(e);
}
}
}
以下のコマンドを実行しました。
$ javac JSample7_1.java
$ java JSample7_1
ファイル名:memo1.txt
実行可能:○
隠しファイル:✕
読み取り:○
書き込み:○
シンボリック・リンク:✕
ファイル名:.memo2.txt
実行可能:✕
隠しファイル:○
読み取り:✕
書き込み:✕
シンボリック・リンク:✕
ファイル名:memo3.txt
実行可能:○
隠しファイル:✕
読み取り:○
書き込み:○
シンボリック・リンク:○
まとめ
何かの役に立てばと。