Это вопрос "что, черт возьми, здесь происходит".На самом деле мне не нужно решение.
Мне пришлось заменить все одиночные обратные косые черты в строке на двойные обратные косые черты.Это то, что я в итоге сделал ...
strRootDirectory = strRootDirectory.replaceAll("\\\\", "\\\\\\\\");
... где strRootDirectory - это java.lang.String выше.
Теперь я понимаю четыре обратных слеша для первого аргумента: regex ожидает две обратных косых черты, чтобы указать одну буквальную обратную косую черту, а java хочет, чтобы они удвоились.Это нормально.
НО, что, черт возьми, происходит с восемью обратными слешами для второго аргумента?Разве замещающая строка не должна быть литеральной (я имею в виду не регулярное выражение)?Я ожидал, что во втором аргументе понадобится четыре обратных слеша, чтобы представить два обратных слеша.