私はドルフに同意しますが、隠しファイルを使用する代わりに検討することもできます。1 つ目は、(Windows) "attrib" コマンドに依存していることです。第二に、ファイルが非表示としてマークされているからといって、ユーザーがそのファイルを表示または変更できないわけではありません (私はマシンを常に隠しファイルを表示するように設定しています)。別の方法として、標準のディレクトリの場所とファイル命名規則の使用を検討することもできます。たとえば、Windows では、アプリケーション データを配置する標準的な場所は "Application Data" フォルダです。このフォルダは、システム プロパティ「user.home」を使用して見つけることができます。
System.out.println(System.getProperty("user.home"));
//prints out something like C:\Documents And Settings\smithj
これを使用して、独自の Application Data フォルダーを作成できます。
//For Windows
File appDataDir = new File(System.getProperty("user.home"), "Application Data\\MyWidgetData");
同様に、*nix 環境では、アプリケーションは通常、データをホーム ディレクトリの .xyz ディレクトリに保持します。
//*nix OSes
System.out.println(System.getProperty("user.home"));
//prints out something like /user/home/smithj
File appDataDir = new File(System.getProperty("user.home"), ".MyWidgetData");
プロパティ os.name を見て、実行している環境を判断し、それに基づいて正しいパスを作成できます。