39. ファイル操作

39. ファイル操作

ファイルの情報を得る

L:\lesson098\test.java

import java.io.File;

class test {
    public static void main(String args[]) {
        try {
            File file = new File(args[0]);
            System.out.println(                    file.exists()      ? "ファイルは存在します" : "ファイルがありません :" + args[0]);
            System.out.println("このファイルは" + (file.canRead()     ? "読み込み可能です"     : "読み込み不可能です"));
            System.out.println("このファイルは" + (file.canWrite()    ? "書き込み可能です"     : "書き込み不可能です"));
            System.out.println(                    file.isDirectory() ? "ディレクトリです"     : "ディレクトリではありません");
            System.out.println(                    file.isFile()      ? "ファイルです"         : "ファイルではありません");

            System.out.println("絶対パス : "         + file.getAbsolutePath());
            System.out.println("基準形式 : "         + file.getCanonicalPath());
            System.out.println("ファイル名 : "       + file.getName());
            System.out.println("親ディレクトリ名 : " + file.getParent());
            System.out.println("ファイルパス : "     + file.getPath());
        }
        catch(ArrayIndexOutOfBoundsException err) {
            System.out.println("使い方 : java test <ファイルパス>");
        }
        catch(java.io.IOException err) {
            System.out.println(err);
        }
    }
}

実行結果

L:\lesson098>java test test.class
ファイルは存在します
このファイルは読み込み可能です
このファイルは書き込み可能です
ディレクトリではありません
ファイルです
絶対パス : L:\lesson098\test.class
基準形式 : L:\lesson098\test.class
ファイル名 : test.class
親ディレクトリ名 : null
ファイルパス : test.class

ファイル操作

L:\lesson099\test.java

import java.io.File;

class test {
    public static void main(String args[]) {
        try {
            File file1 = new File(args[0]);

            if (file1.exists()) {
                if (file1.isDirectory()) {
                    System.out.println("すでに存在しています");
                    return;
                }
            }
            System.out.println(file1.mkdir()  ? "ディレクトリの作成に成功しました" : "ディレクトリの作成に失敗しました");
            System.out.println(file1.delete() ? "ディレクトリの削除に成功しました" : "ディレクトリの削除に失敗しました");

            File file2 = new File(args[1]);
            System.out.println(file2.mkdir()  ? "ディレクトリの作成に成功しました" : "ディレクトリの作成に失敗しました");

            File file3 = new File(args[2]);
            System.out.println(file3.mkdirs()  ? "ディレクトリの作成に成功しました" : "ディレクトリの作成に失敗しました");
        }
        catch(ArrayIndexOutOfBoundsException err) {
            System.out.println("使い方 : java test <ファイルパス>");
        }
    }
}

実行結果

L:\lesson099>dir /b/on/s
L:\lesson099\test.class
L:\lesson099\test.java

L:\lesson099>java test testdir testdir2 l:\lesson099\testdir3\testdir4
ディレクトリの作成に成功しました
ディレクトリの削除に成功しました
ディレクトリの作成に成功しました
ディレクトリの作成に成功しました

L:\lesson099>dir /b/on/s
L:\lesson099\test.class
L:\lesson099\test.java
L:\lesson099\testdir2
L:\lesson099\testdir3
L:\lesson099\testdir3\testdir4