Ответ 1
String path = "C:\\Documents and Settings\\Manoj\\Desktop";
path = path.replace("\\", "/");
// or
path = path.replaceAll("\\\\", "/");
Найдите более подробную информацию в Docs
Мне нужно преобразовать путь к файлу в Windows: C:\Documents and Settings\Manoj\Desktop для java как C:/Documents and Settings/Manoj/Desktop.
Есть ли какая-нибудь утилита для преобразования.
String path = "C:\\Documents and Settings\\Manoj\\Desktop";
path = path.replace("\\", "/");
// or
path = path.replaceAll("\\\\", "/");
Найдите более подробную информацию в Docs
String path = "C:\\Documents and Settings\\Manoj\\Desktop";
String javaPath = path.replace("\\", "/"); // Create a new variable
или
path = path.replace("\\", "/"); // Just use the existing variable
String
являются неизменными. Как только они будут созданы, вы не сможете их изменить. Это означает, что replace
возвращает новую строку, где цель ("\\"
) заменяется заменой ("/"
). Просто вызов replace
не изменится path
.
Разница между replaceAll
и replace
заключается в том, что replaceAll будет искать регулярное выражение, замените его нет.
Java 7 и выше поддерживают класс Path
(в пакете java.nio).
Вы можете использовать этот класс для преобразования строкового пути в один, который работает для вашей текущей ОС.
Использование:
Paths.get("\\folder\\subfolder").toString()
на машине Unix, вы получите /folder/subfolder
. Также работает наоборот.
https://docs.oracle.com/javase/tutorial/essential/io/pathOps.html
String path = "C:\\Documents and Settings\\someDir";
path = path.replaceAll("\\\\", "/");
В Windows вы должны использовать четыре обратных слэша, но не два.