Я пытаюсь переместить мою программу java в windows из linux и получаю всевозможные проблемы с файловыми путями.Экранирование обратных косых черт в пути к файлу в Java
Последняя проблема заключается в следующем:
public void restoreCorrections(File correctionDir) {
String filePath = correctionDir.getPath().replaceFirst("Backup" + File.separator + "Corrections" + File.separator, "Data" + File.separator + "Matches" + File.separator); System.out.println(filePath); .... }
Эта функция петельные через много раз с каждым файлом из определенной папки (резервное копирование \ коррекций).
Я дал следующее сообщение об ошибке:
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 7 Backup\Corrections\ ^ at java.util.regex.Pattern.error(Unknown Source)
Я попытался добавить replaceAll ("\\", "\\\\") после того, как GetPath(), а также replaceAll (File.separator , «\\»)
но оба они в конечном итоге с подобной ошибкой:
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^
Кто-нибудь есть какие-либо идеи, что здесь происходит?
Не-регулярное выражение способа отлично работает, спасибо! –
Знаете ли вы, что Windows будет совершенно счастлива, если вы используете косые черты для разделения частей пути? Есть что-то об использовании обратной косой черты для сетевой части UNC-пути, хотя ... возможно, вам нужна часть «\\ Server1», чтобы иметь обратную косую черту. Я просто не могу вспомнить, что там есть. Даже тогда остальные могут использовать косые черты. –