从共享路径打开文件时获取IOException

时间:2012-02-21 11:36:30

标签: java eclipse-rcp

我们正在使用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. 文件路径包含空格或任何特殊字符,如“[”和“]”。
  3. 示例:

    • 文件夹或文件名包含空格,即“(空格)”
      \\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 个答案:

答案 0 :(得分:1)

经过一番研究后,在我看来这是一个已知的错误:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6780505
可能的解决方法,我没试过,可以在这个答案中描述:
https://stackoverflow.com/a/1363056/1050015