How do I get the value of Windows' %APPDATA% location variable in Java?

Ben Leggiero picture Ben Leggiero · Feb 10, 2012 · Viewed 26.8k times · Source

I'm trying to make my program save its state in the location set by %APPDATA% when the user is using Windows. However, System.getProperty("temp.dir"); does not return that. How do I get the value of the %APPDATA% variable in Windows, for the purpose of state saving?

Answer

a_horse_with_no_name picture a_horse_with_no_name · Feb 10, 2012

Use System.getenv()

System.getenv("APPDATA")

But I think

System.getProperty("user.home") 

should be preferred even though it's not exactly the same thing because it is more portable.