2009-07-29 27 views

答えて

17

、Fileクラスには、あなたがsetExecutable setWritableを与える、などを参照してください:古いJavaのバージョンでhttp://java.sun.com/javase/6/docs/api/java/io/File.html

を、これは不可能です。あなたは、OSがそれを行うためにコマンドExecする必要があります。

のWindows:

Runtime.getRuntime().exec("attrib -r myFile"); 

のUnix:

Runtime.getRuntime().exec("chmod 777 myFile"); 
+0

+1 java6の新しいメソッドについてはわかりません – skaffman

+0

chmodはウィンドウ内では機能しません、attrib -Rまたは+ Rは読み取り専用フラグを変更します –

+0

もっと厳しいUnixの許可、btw。 777は皆にすべてを与えます:-) –

10

新しいJava 7 java.nio.file.attributeパッケージには、この非常に簡単にすべてを行います。 Posix file permissionsを含む完全なファイル属性のセットを表示します。

+8

Windows 7では、Posix属性を取得しようとするとUnsupportedOperationExceptionがスローされます。 – gerardw

+3

コマンドを実行しなくても、Windowsで問題を解決するにはどうすればよいですか?すべてのオペレーティングシステムでアクセス許可を設定するために使用できる共通ライブラリはありますか? – saibharath

+0

この回答は少し短いですが、java.nio.file.attributeパッケージにはWindows用のACL処理も含まれています! –

関連する問題