Java IO FileNotFoundException после преобразования имени файла в UUR () - PullRequest
0 голосов
/ 30 августа 2011

Вот код Jython (хотя это не может быть проблемой, специфичной для Jython) ...

file_name = "Manifest.ttl"
file_url = File(file_name).toURL()
f = File(file_url.toString())

java.io.FileNotFoundException: java.io.FileNotFoundException: file: /home/james/projects/wordnet/wordnet30/rdf/Manifest.ttl (нет таких файл или каталог)

Ответы [ 2 ]

2 голосов
/ 30 августа 2011

Javadoc на помощь:

Создает новый экземпляр File путем преобразования заданной строки имени в абстрактный путь. Если данная строка является пустой строкой, тогда результатом является пустой абстрактный путь.

Параметры: pathname - строка пути

Конструктор File принимает в качестве аргумента абстрактное имя пути, а не представление toString URL-адреса.

Кроме того, toURL устарела. Вы можете использовать toURI и восстановить файл с этим URI.

0 голосов
/ 30 августа 2011

toURL () добавляет префикс file: //, который требуется для правильного URL / URI.Очевидно, что конструктор File не проверяет и не удаляет этот префикс, поэтому он ищет файл с именем «file: // ...» вместо того, где вы хотите его видеть »/home/james/...".

...