2010-06-17 18 views
22

Ho bisogno di convertire il percorso del file in finestre dire C: \ Documents and Settings \ Manoj \ Desktop per java come C:/Documents and Settings/Manoj/Desktop.percorso file Formato Windows in formato java

Esiste qualche utilità per convertire in questo modo?

+2

Potete perché avete bisogno di questo? Poiché generalmente nella gestione dei file, java può gestire automaticamente queste conversioni ... – Nivas

risposta

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

trovare maggiori dettagli nelle Docs

+8

+1 - Java ** è ** l'utilità;) –

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 sono immutabili. Una volta creati, non puoi cambiarli. Ciò significa che replace restituisce una nuova stringa in cui la destinazione ("\\") viene sostituita dalla sostituzione ("/"). Semplicemente chiamando replace non cambierà path.

La differenza tra replaceAll e replace è che replaceAll cercherà un'espressione regolare, non sostituisce.

3

Java 7 e versioni successive supporta la classe Path (nel pacchetto java.nio). È possibile utilizzare questa classe per convertire un percorso di stringa in uno che funzioni per il sistema operativo corrente.

Usando:

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

su una macchina Unix, vi darà /folder/subfolder. Funziona anche il contrario.

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

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

In Windows si dovrebbe utilizzare quattro backslash, ma non due.