2010-08-31 13 views
7

Señor, estoy trabajando en una aplicación Java. En esa aplicación tengo que acceder a los archivos de "Mis documentos". El problema viene con la versión de Windows cuando estoy usando Windows 7, se puede acceder como carpeta "Documentos", pero para Windows XP es "Mis documentos".Error al acceder al archivo desde "Mis documentos" para Windows Xp y Windows 7

Estoy escribiendo el siguiente código para acceder a los archivos de la carpeta "Documentos" en windows 7.

public static void main(String[] arr) 
{ 
    try 
    { 
     String source = System.getProperty("user.home")+ File.separator + "Documents"; 
     File[] Files = new File(source).listFiles(); 
     System.out.println(Files.length); 
    } 
    catch(Exception ex) 
    { 
     ex.printStackTrace(); 
    } 
} 

y para Windows XP

public static void main(String[] arr) 
{ 
    try 
    { 
     String source = System.getProperty("user.home")+ File.separator + "My Documents"; 
     File[] Files = new File(source).listFiles(); 
     System.out.println(Files.length); 
    } 
    catch(Exception ex) 
    { 
     ex.printStackTrace(); 
    } 
} 

favor podría usted sugerir un método genérico, que puede ser aplicado para todas las versiones de Windows?

Respuesta

1

Puede comprobar la versión del sistema operativo y luego usar eso para asignar el nombre de archivo correcto.

+0

sí, puede obtener "os.name" y "os.version" de las propiedades del sistema; – mhshams

+0

Gracias por responder. esta trabajando bien para mi. – Toman

0

No existe un método estándar de Java para esto, pero existen varias bibliotecas, por ejemplo Winfoldersjava.

No adivine y agregue simplemente "Mis documentos". Tendrá problemas con las versiones localizadas de Windows. Por ejemplo, en noruego, el nombre es "Mine dokumenter", no "Mis documentos".

Cuestiones relacionadas