Я просто решил это по-другому, потому что никакие цитаты или пробелы ни в одном из этих примеров не работали для меня.
1 Определить, есть ли в URI файла привязка или строка запроса
2 Если это так, создайте временный файл File tmpfile = File.createTempFile("apphelp", ".html")
с мета-перенаправлением на фактический URI файла:
<html><head>
<meta http-equiv="refresh" content="0;url=help.html#set_filter" />
</head></html>
3 Выполнить локальную команду rundll, используя новый временный URI:
Runtime.getRuntime().exec(
"rundll32 url.dll,FileProtocolHandler \""
+tmpfile.toURI().toString()+ "\"");
Я надеюсь, что это работает для вас!