我同意 Dolph 的观点,但是您也可以考虑使用隐藏文件的替代方法。首先是您现在依赖于(Windows)“attrib”命令。其次,仅仅因为一个文件被标记为隐藏并不意味着用户不能看到或修改它(我的机器设置为始终显示隐藏文件)。作为替代方案,您可以考虑使用标准目录位置和文件命名约定。例如,在 Windows 中,放置应用程序数据的标准位置位于“应用程序数据”文件夹中。您可以使用系统属性“user.home”找到此文件夹:
System.out.println(System.getProperty("user.home"));
//prints out something like C:\Documents And Settings\smithj
您可以使用它创建自己的应用程序数据文件夹:
//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 以确定您正在运行的环境并基于此构建正确的路径。