Java相对路径从我的主文件夹开始

时间:2013-08-08 12:47:23

标签: java path relative

这是一款100%胜利的控制台应用程序。 所以这就是问题所在。

我想加载要放在jar中的文件music.xm。 当我尝试通过相对路径调用文件时出现问题。它不是java项目的开始目录,而是我的Windows用户文件夹 如果我打电话

File music = new File("\\music.xm");


javax.sound.sampled.UnsupportedAudioFileException: /C:/Users/XXXX/Desktop/./music/music.xm

如果我打电话

    File music = new File(".\\music.xm");

我得到了

    javax.sound.sampled.UnsupportedAudioFileException: /C:/music.xm

1 个答案:

答案 0 :(得分:1)

如果它在你的罐子里,你可以使用

getclassLoader().getResourceAsStream("music.xm")

您可以随意使用此inputStream。但请记住,路径应该是相对于类加载器的类路径根。

此外,如果您确定“music.xm”作为independent file on filesystem存在于.class文件的固定相对位置,您还可以使用:

getclassLoader().getResource("music.xm")

您可以查看on SO,此处查看documentation