Чтобы получить URL-адрес файла из строки, когда путь содержит пробелы, для меня это сработало:
File file = new File("/Users/work space/tempFile.txt");
URL url = file.toURI().toURL();
Согласно Javadocs, file.toURL()
равно устарело :
Этот метод автоматически не экранирует символы, которые являются недопустимыми в URL.Рекомендуется, чтобы новый код преобразовывал абстрактный путь в URL-адрес, сначала преобразовав его в URI с помощью метода toURI, а затем преобразовав URI в URL-адрес с помощью метода URI.toURL.
Следовательно, используется file.toURI().toURL()
.
Для Java 7+ этот подход можно использовать вместо:
URL url = Paths.get("/Users/work space/tempFile.txt").toURI().toURL());
Примечание : Если путь начинается с /
это считается абсолютным, иначе как относительный путь.