我正在制作DJ MAX风格的游戏。
我正在尝试为游戏的主屏幕设置背景音乐,但是在这里我发现了一个问题。
当我以URI或String形式传递文件路径以实例化File对象时,两者都可以正常工作。
但是,当我尝试将File对象连接到FileInputStream时,具有String路径的File对象不起作用(URI FILE WORKS PERFECT)。它将引发一个错误,指出“系统找不到指定的路径”。我检查了多次,但路径正确。
我是否有理由将路径作为URI传递到File类?
感谢您的支持
属性
public class Music extends Thread {
private Player player;
private boolean isLoop;
private File file;
private FileInputStream fis;
private BufferedInputStream bis;
以字符串形式传递路径:不起作用
public Music(String name, boolean isLoop) {
try {
this.isLoop = isLoop;
file = new File("../musics/adventuresHimitsu.mp3");
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
player = new Player(bis);
}catch(Exception e) {
System.out.println(e.getMessage());
}
}
引发了一条错误消息: .. \ musics \ adventuresHimitsu.mp3(系统找不到指定的路径) 空
将路径作为URI传递:有效
public Music(String name, boolean isLoop) {
try {
this.isLoop = isLoop;
file = new File(Main.class.getResource("../musics/adventuresHimitsu.mp3").toURI());
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
player = new Player(bis);
}catch(Exception e) {
System.out.println(e.getMessage());
}
}