Подтвердить что ты не робот

URL-адрес Java: Неизвестный протокол "C"

Я знаю, что есть похожие вопросы к этому на SO (например, this), однако, прочитав список "Вопросы с похожими названиями", я все еще чувствую, что это уникально.

Я работаю с библиотекой iText для создания PDF файлов из приложения Swing. iText Jpeg класс требует URL в своем конструкторе, чтобы найти изображение /jpg, которое вы хотите добавить в файл PDF.

Когда я устанавливаю этот URL в абсолютный путь к файлу моего JPG файла, я получаю MalformedURLException, требующий неизвестный протокол: c ( "c" является диском C:\ на моем локальный диск).

Есть ли какие-либо взломы/обход, или мне нужно разместить этот JPG где-нибудь и найти URL его через сеть? Вот код, который терпит неудачу:

try {
    String imageUrl = "C:\Users\MyUser\image.jpg";
    Jpeg image = new Jpeg(new URL(imageUrl));
} catch(Exception exc) {
    System.out.println(exc.getMessage());
}

Обратите внимание: URL выполняет корректное удаление строки (таким образом, "\" преобразуется в "\ \" и т.д.).

Спасибо заранее!

4b9b3361

Ответ 1

Вам нужно повернуть путь к файлу image.jpg в файл file://URL, например:

String imageUrl = "file:///C:/Users/MyUser/image.jpg";

В противном случае он интерпретирует C как протокол URL.

Ответ 2

Попробуйте

String imageUrl = "file:///C:/Users/MyUser/image.jpg";

Ответ 3

Попробуйте это

try {
    String imageUrl = "file:///C:/Users/MyUser/image.jpg";
    Jpeg image = new Jpeg(new URL(imageUrl));
} catch(Exception exc) {
    System.out.println(exc.getMessage());
}