I want my java desktop application to know if the user is running it for the first time on that pc. Since the jar-file might be shared between users i don't want to write to a file inside the jar-file. There are obviously a lot of ways to do this but what would you recommend? (It has to be cross-platform). thanks
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Try to use Preferences and its systemRoot() or userRoot() methods to obtain system-wide or user-specific preferences.
回答2:
I would recommend using the users home directory where you can place a user specific settings file. This will allow you to detect first time users as well as remember any preferences they may choose.
System.getProperty("user.home"); // returns the home directory cross platform
回答3:
Every OS has some specific directories where the user data is stored (/home
, C:\Users
, C:\Documents and settings
). This value is usually available in the JVM with the "user.home" System property.
Store there some file to store your user configuration. Of course, each OS has its way of doing that ("Application Data" folder, folder with a name that begins with a dot), you should be sure that you comply with it.