2010-06-17 22 views
22

Necesito convertir la ruta del archivo en Windows, por ejemplo, C: \ Documents and Settings \ Manoj \ Desktop para Java como C:/Documents and Settings/Manoj/Desktop.ruta del archivo Formato de Windows a formato Java

¿Hay alguna utilidad para convertir de esta manera?

+2

¿Puede usted por qué necesita esto? Porque generalmente en el manejo de archivos, java puede encargarse de estas conversiones automáticamente ... – Nivas

Respuesta

39
String path = "C:\\Documents and Settings\\Manoj\\Desktop"; 
path = path.replace("\\", "/"); 
// or 
path = path.replaceAll("\\\\", "/"); 

encontrar más detalles en los Docs

+8

+1 - Java ** es ** la utilidad;) –

9
String path = "C:\\Documents and Settings\\Manoj\\Desktop"; 
String javaPath = path.replace("\\", "/"); // Create a new variable 

o

path = path.replace("\\", "/"); // Just use the existing variable 

String s son inmutables. Una vez que se crean, no puedes cambiarlos. Esto significa que replace devuelve un nuevo String donde el objetivo ("\\") se reemplaza por el reemplazo ("/"). Simplemente llamando al replace no cambiará path.

La diferencia entre replaceAll y replace es que replaceAll buscará una expresión regular, no la reemplaza.

3

Java 7 y versiones posteriores admiten la clase Path (en el paquete java.nio). Puede usar esta clase para convertir una ruta de cadena en una que funcione para su sistema operativo actual.

Usando:

Paths.get("\\folder\\subfolder").toString() 

en una máquina Unix, le dará /folder/subfolder. También funciona al revés.

https://docs.oracle.com/javase/tutorial/essential/io/pathOps.html

-2
String path = "C:\\Documents and Settings\\someDir"; 
path = path.replaceAll("\\\\", "/"); 

En Windows se debe utilizar cuatro barra invertida, pero no dos.