1
Media.jar
|--gmor.wav
+--some.txt
下面的代碼無法工作以獲取輸入流,並拋出 java.lang.NullPointerException。
input = JarFileRead.class.getClassLoader()。getResourceAsStream(「some.txt」);能行得通。如何在jar文件中讀取媒體文件(音頻文件,而不是文本文件)?
[代碼]
import java.io.*;
public class JarFileRead
{
public static InputStream input = null;
public JarFileRead()
{
try
{
input = JarFileRead.class.getClassLoader().getResourceAsStream("gmor.wav");
while(input.read()!=-1)
{
System.out.print(input.read());
}
input.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String [] args)
{
new JarFileRead();
}
}
[/代碼]
請注意,JavaSound已知嗆在'不可重新定位'的輸入流。從'getResourceAsStream'返回的流顯然就是這樣一個流。改用'getResource()'來取代'URL'。但是實施Stephen C 1st確定的修復,這是直接的問題。 – 2012-03-31 08:03:27