2011-11-07 29 views
1

myFileObject.mkdirs()を使用してディレクトリを作成しています。 Windowsでは、作成されるすべてのディレクトリが読み取り専用としてマークされます。私は(奇妙なことに)まだディレクトリに書き込むことができますが、物事を削除することになると、それは悪化します。WindowsでJavaから非読み取り専用ディレクトリを作成する方法

新しいディレクトリの既定のアクセス許可が読み取りと書き込みになるように、いくつかのシステムプロパティや設定がありますか? (私はSOとWebを検索して、同じことについて不平を言っている人以外に何も見つけていません)。ディレクトリツリーに対してsetWritableを呼び出さなければならないのは苦痛です。 (違いがある場合は、Windows 7でJ2SE 1.6.0_23を使用しています)

+1

Javaは、OSによって指定されたデフォルトの権限でディレクトリ/ファイルを作成します。権限が正しくない場合は、OSレベルで変更することをお勧めします。 –

+0

@Peter、私は彼が許可について話しているとは思えませんが、読み取り専用の属性について話しています。 –

+0

@テッド、私はこれを再現することはできません。より多くの情報を提供することができますか、問題を示す単純なコードですか?最新のアップデート、6u29を試しましたか? –

答えて

2

私はJavaからこれを行う方法はないことを理解しています、それはJavaの問題ではありません。たとえば、cmdからフォルダを作成してみましょう。同じ問題が表示されます(ms error)。
CMD
は、それが作成ステップの上にあったようsampleDir
ます。attrib -r sampleDir

属性が滞在しますmdの。しかし、「読み取り専用」の青色の四角形が表示されている場合、デフォルトでは読み取り専用としてマークされていません。青は未定のブランク状態を表します。ボックスにチェックマークが付いている場合のみ、読み取り専用としてマークされます。

あなたは、Javaからそれを呼び出すことができ、このジョブを作成します.BATファイルを作成することができた場合:それは真の方法ではないのですが、それは仕事だ場合

Runtime.getRuntime().exec("cmd /c run.bat"); 

を - それは何も、その後勧めします。

+0

あなたがリンクしている記事では、GUIの制限について説明しています。エラーを説明するものではなく、なぜTedのディレクトリが読み取り専用とマークされているのかを説明していません。 –

+0

GUIが誤解を招くため、Tedが誤ってディレクトリを読み取り専用にしていると誤解している可能性がありますか? –

+0

私が理解するように、この属性(作成されたファイルのデフォルト属性)は、このフォルダが読み取り専用であるとは言いません。しかし、いくつかの制限があるかもしれません(必要なGoogle :))が、それはJavaの質問ではありません。 – Psycho

関連する問題