File setReadOnly/setWritable/canWrite メソッドの振る舞いの変更を確認する

この規則により、java.io.File setReadOnly()/setWritable(boolean arg)/setWritable(boolean arg, boolean user)/canWrite() にフラグを立てます。

Java 7 での Java SE 7 and JDK 7 Compatibility 資料によると、setReadOnly()setWritable(boolean arg)setWritable(boolean arg, boolean user) の各メソッドは、ディレクトリーに対してディスク・オペレーティング・システム (DOS) 読み取り専用属性を設定しなくなりました。 これらのメソッドは、Microsoft Windows (R) 環境でディレクトリーに関して呼び出されると、false を戻します。 さらに canWrite() メソッドとの関係を保つために、Java 7 でのこのメソッドは、現在ではディレクトリーに関して呼び出されると、常に true を戻すようになっています。 この資料では次のように記述しています。「Windows でディレクトリーを読み取り専用に設定するアプリケーションは、新規 API を使用する必要があります。特に、Files.isWritable メソッドでは、効果的なアクセス (ファイルの任意アクセス制御リストで決定) が考慮され、ファイルが書き込み可能ボリュームにあるかどうかが配慮されています。」

追加情報については、以下の Java 7 API を参照してください。