java で chmod とか使うための 6 つの方法

http://www.experts-exchange.com/articles/Programming/Languages/Java/File-permissions-with-Java.html

より、

システムコールを使う

    String fileName = "/path/to/file", 
    Process proc = Runtime.getRuntime().exec("chmod 755 " + fileName);

JNA を使う。

JDK1.4 以上であれば、上記の代替として JNA が使える。

    import com.sun.jna.Library;
    import com.sun.jna.Native;
     
    public class ChmodTest {
        private static LinkedOSLibrary linkedLibrary = 
            (LinkedOSLibrary ) Native.loadLibrary("c", LinkedOSLibrary.class);
     
        public static void main(String[] args) {
            linkedLibrary.chmod("/path/to/file", 0755);
        }
    }
     
    interface LinkedOSLibrary extends Library {
        public int chmod(String path, int mode);
    }

JTux を使う

Unix コマンドのラッパライブラリとして JTux(Java To UNix)というのがある。ほとんどの Unix コマンドをラップしている。

    UFile.chmod("/path/to/file/", 0775);

java.io.File を使う。(ただし、Java6 以上)

Java6 以降であれば、java.io.File に setReadable、setWriteable、setExecutable の3つのメソッドが追加されている。ファイルの rwx だけは変更できるようになっている。これ以外のことは出来ないので、限定的な対応といえる。

NIO.2 と Java 7 を使う

JSR 203 が Java 7 の一部として実装されることが決まった。たぶんこれ使えばいい感じに解決する(のか?)

失われたライブラリ(The lost library)を使う

Xenon Soft という会社が、Javaunix という JTux に似たライブラリを昔作っていたが、もはや手に入らない。


以上。詳細は上記記事を参照してくださいませ。