私のJavaアプリで、APPDATAフォルダーを見つけて、独自のサブフォルダーを作成しようとしました。
if (System.getProperty("os.name").startsWith("Windows")) {
settingsDir = System.getenv("APPDATA") + "\\MyApp\\";
if (!(new File(settingsDir)).isDirectory()) {
if (!(new File(settingsDir)).getParentFile().mkdirs()) {
Error("Failed to create directory " + settingsDir);
}
}
}
Windows XPでは、これは失敗し、フォルダを作成できなかったと言います。
非表示のアプリケーションデータフォルダは読み取り専用であり、これは変更できないようです。
これが、新しいフォルダの作成が失敗する理由でしょうか?もしそうなら、JavaからAPPDATAフォルダに新しいフォルダを作成する一般的な方法は何でしょうか?