索引2处路径中的Java Ilegal字符

索引2处路径中的Java Ilegal字符,java,javafx,Java,Javafx,我得到这个错误: Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\Users\Emre\Desktop\PN1g1z.gif 我真的不明白怎么了 这就是引发异常的原因: Media media = new Media(file.getAbsolutePath()); Media需要一个URI作为构造函数中的字符串。因此,与其使用文件#getAbsolutePa

我得到这个错误:

Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\Users\Emre\Desktop\PN1g1z.gif
我真的不明白怎么了

这就是引发异常的原因:

   Media media = new Media(file.getAbsolutePath());

Media
需要一个URI作为构造函数中的字符串。因此,与其使用
文件#getAbsolutePath()
,不如使用
文件#toURI()

Media#new
JavaDoc(谢谢@Andreas):

source—源媒体的URI


实际上,把服务器放在哪里是个大问题

我以前已经面对过这个问题。我使用Geronimo时,空格位于我的方向
D:\Common DevTool\Geronimo

有两种解决方法:

  • 更改为
    D:\Tool\Geronimo
    。它运行良好。 您的目录不正确:
    C:/ProgramFiles
    。您应该将服务器移动到名称中没有空格的其他位置
  • 升级JSF版本

  • \是转义符号。如果媒体类可以解析它,则应该有C:\\或C:\。尝试使用file.getCanonicalPath()将文件路径传递给等待URI的对象。查看此链接进行转换:不仅看起来如此,它实际上记录在:“源必须表示有效的
    URI
    ,并且是不可变的。”