Получение IOException при открытии файла из общего ресурса - PullRequest
2 голосов
/ 21 февраля 2012

Мы используем Desktop.open() для открытия файлов.В некоторых случаях этот метод вызывает IOException:

Error message: The system cannot find the file specified.
java.io.IOException: Failed to open file:////userprofiles01/XDdata01/mm015633/Desktop/New%20folder/product/My%20Product/scripts/Logs/%5B2012-02-21%20131622-379%5D%20Interaction/log.html. 

Однако тот же код работает нормально, когда файл находится на диске «C: \».Проблема появляется только в том случае, если:

  1. Путь к файлу находится на общем диске (не на диске "C:") и
  2. Путь к файлу содержит пробелы или любые специальные символы, такие как "[" а также "]".

Примеры:

  • Имя папки или файла содержит пробелы, т.е. "(пробел)"
    \\userprofiles01\XDdata01\mm015633\Desktop\Hi(space)Hello\log.html \\userprofiles01\XDdata01\mm015633\Desktop\HiHello\log(space)1.html

  • Имя папки содержит специальные символы "[" и "]"
    \\filesrvwhq\india\Automation\MyProject\Mustak\[spacetest]\log.html

Есть мысли по этому поводу?

Спасибо

1 Ответ

1 голос
/ 21 февраля 2012

После некоторого исследования мне кажется, что это известная ошибка:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6780505
Возможный обходной путь, я не пробовал, может быть описан в этом ответе:
https://stackoverflow.com/a/1363056/1050015

...