在java中,我编写了一个小程序来播放音频文件和播种图片:
首先我用路径制作了一个最终的字符串,然后我制作了一个文件对象。
至少我将返回的数组保存在我的“tracks”变量中。这是我的代码:
private static final String PATH = "../src/audio/";
private static final File FILE = new File(PATH);
tracks = liesAudioDateien(file);
private AudioClip[] liesAudioDateien (File inputFile) {
File[] dateFileArray;
AudioClip[] tracks;
dateFileArray = inputFile.listFiles();
tracks = new AudioClip[dateFileArray.length];
for (int i = 0; i < tracks.length; i++) {
if (dateFileArray[i].isFile()) {
try {
tracks[i] = Applet.newAudioClip(dateFileArray[i].toURL());
} catch (IOException ex) {
System.err.println("Oops!: -- " + ex.toString());
}
}
}
return tracks;
如果我运行此代码,我会收到错误消息:
Exception in thread "main" java.lang.NullPointerException
at source.Sound.liesAudioDateien(Sound.java:32)
Sound.java:32:
这是tracks = new AudioClip[dateFileArray.length];
行。
如果我尝试使用绝对路径,它确实有效!我做错了什么?