我正在构建一个可以播放视频的小应用程序,问题是,当我在其路径中添加带有空格的视频时 - 它会给我一个错误:
java.net.URISyntaxException: Illegal character in opaque part at index 13: FILE:C:/Video menu/video/03.mp4
这是我的场景:
Group root = new Group();
Scene scene = new Scene(root, 1280, 1024, Color.BLACK);
String path = new String("FILE:C:/Video menu/touchMV/03.mp4");
URI uri = new URI(path);
root.getChildren().add(
MediaViewBuilder.create()
.mediaPlayer(
MediaPlayerBuilder.create()
.media(
new Media(
path
)
).build()
).build()
);
stage.setScene(scene);
stage.show();
Media(java.lang.String source)
文档说它有约束:
我尝试传递一个{(1}}和(new URI(path)).toString();
的Media()构造函数,但它没有用。将空格更改为(new URI(path)).toASCIIString()
并没有效果。
在这种情况下我该怎么办?
答案 0 :(得分:7)
我不知道您的问题的原因,但如果您先创建File
并致电File#toURI#toASCIIString
,它就会有效。
File file = new File("C:\\Video menu\\touchMV\\03.mp4");
String path = file.toURI().toASCIIString();