Detect first time user in java app

2019-02-17 15:06发布

问题:

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.