0
0

More than 1 year has passed since last update.

Javaで「ファイルの状態を調べる(実行可能/隠しファイル/読み取り/書き込み/シンボリック・リンク)」の動作を確認してみた

Posted at

概要

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
実行可能:○
隠しファイル:✕
読み取り:○
書き込み:○
シンボリック・リンク:○

まとめ

何かの役に立てばと。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0