знак фунта (#) в имени каталога: на Java Как читать - PullRequest
0 голосов
/ 07 декабря 2009

ClassLoader не находит мне файл. Кидает:

javax.xml.transform.TransformerConfigurationException:
javax.xml.transform.TransformerException: java.io.FileNotFoundException:

Я пытался сделать следующее:

TransformerFactory.newInstance().newTransformer(new StreamSource("C:\\dev\\workspace\\test1\\a#b\\Browser-Email.xslt"))

Ответы [ 2 ]

3 голосов
/ 07 декабря 2009

Это потому, что конструктор StreamSource(string) принимает URI, а не имя файла, а # имеет особое значение в URI:

StreamSource

public StreamSource(String systemId)

Создание StreamSource из URL.

Параметры:
systemId - Должна быть строка, которая соответствует синтаксису URI.

Вы можете использовать

new StreamSource(new File("C:\\dev\\workspace\\test1\\a#b\\Browser-Email.xslt"))

вместо.

1 голос
/ 07 декабря 2009

Вот обходной путь для вышеуказанной проблемы http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4294586

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...