2012-02-10 12 views
8

Estoy tratando de hacer que mi programa guarde su estado en la ubicación establecida por %APPDATA% cuando el usuario usa Windows. Sin embargo, System.getProperty("temp.dir"); no devuelve eso. ¿Cómo obtengo el valor de la variable %APPDATA% en Windows, con el propósito de guardar el estado?¿Cómo obtengo el valor de la variable de ubicación% APPDATA% de Windows en Java?

+0

Posible duplicado http: // stackoverflow .com/questions/1198911/how-to-get-local-application-data-folder-in-java –

+0

Mejor duplicado es http://stackoverflow.com/questions/585534/what-is-the-best-way- to-find-the-users-home-directory-in-java –

Respuesta

20

Uso System.getenv()

System.getenv("APPDATA") 

Pero creo

System.getProperty("user.home") 

debe preferirse a pesar de que no es exactamente lo mismo porque es más portátil.

+0

¿Qué ocurre si prueba 'System.getenv (" APPDATA ")' en un sistema operativo que no es Windows? Dado que 'APPDATA' es específico de Windows, me imagino que se produce algún error. – DavidB

+1

@DavidB: no hay error, devolverá un valor nulo –

+0

Excelente. ¡Gracias! – DavidB

7

APPDATA es una variable de entorno específico de Windows que proporciona la ubicación donde se almacena la aplicación de datos específico, por lo que si usted no está buscando para escribir código independiente de plataforma, puede simplemente hacer System.getenv("APPDATA");

Cuestiones relacionadas