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

Emr*_*age 2 java javafx

我收到此错误:

Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\Users\Emre\Desktop\PN1g1z.gif
Run Code Online (Sandbox Code Playgroud)

而且我真的不知道什么是错的.

这是抛出异常的原因:

   Media media = new Media(file.getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)

jpk*_*ing 8

Media期望在构造函数中将URI作为String.因此,File#getAbsolutePath()您应该使用File#toURI()而不是使用.

https://docs.oracle.com/javase/7/docs/api/java/io/File.html#toURI%28%29

来自Media#newJavaDoc(感谢@Andreas):

source - 源媒体的URI.

  • 不只是*似乎*,它实际上记录在[javadoc]中(https://docs.oracle.com/javafx/2/api/javafx/scene/media/Media.html#Media%28java.lang.String%29 ):*"源必须代表一个有效的`URI`并且是不可变的."* (2认同)