URL Java: неизвестный протокол "C" - PullRequest
21 голосов
/ 12 декабря 2011

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

Я работаю с библиотекой iText для создания PDF-файлов изнутри приложения Swing.Класс Jpeg iText требует 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 правильно экранирует строку (таким образом, "\" преобразуются в "\ \" и т. Д.).

Заранее спасибо!

Ответы [ 4 ]

74 голосов
/ 12 декабря 2011

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

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

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

10 голосов
/ 12 декабря 2011

Попробуйте с

String imageUrl = "file:///C:/Users/MyUser/image.jpg";
5 голосов
/ 12 декабря 2011

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

try {
    String imageUrl = "file:///C:/Users/MyUser/image.jpg";
    Jpeg image = new Jpeg(new URL(imageUrl));
} catch(Exception exc) {
    System.out.println(exc.getMessage());
}
0 голосов
/ 04 марта 2019

Поиск файла по его каталогу и добавление изображения для назначения ImageView

File file = new File("F:/a.jpg");
Image image = new Image(arquivo.toURI().toString()); //here is magic happens
imageView.setImage(image);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...