我試圖在Java的代碼時:顯示java.lang.NullPointerException寫字節數組
try
{
String url = "http://url.com/file.ext";
InputStream myInputStream = getClass().getResourceAsStream(url);
ByteArrayOutputStream myByteArrayOutputStream = new ByteArrayOutputStream();
byte[] arrayOfByte = new byte[1024];
int i;
while ((i = myInputStream.read(arrayOfByte)) != -1)
{
myByteArrayOutputStream.write(arrayOfByte, 0, i);
}
}
catch (Exception e)
{
System.err.println(e);
System.err.println(e.getMessage());
System.err.println(e.getLocalizedMessage());
System.err.println(e.getCause());
System.err.println(Arrays.toString(e.getStackTrace()));
e.printStackTrace();
}
它編譯罰款,但它拋出一個異常,這是控制檯輸出:
java.lang.NullPointerException
null
null
null
[myclass.init(myclass.java:32), sun.applet.AppletPanel.run(Unknown Source), java.lang.Thread.run(Unknown Source)]
java.lang.NullPointerException
at myclass.init(myclass.java:32) <- Line 32 is "while ((i = myInputStream....."
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
什麼可能會導致異常?
+1 - 如果該網址確實是正確的,這是正確的。如果這是錯誤的,你仍然不會得到這些字節。我建議在使用之前檢查InputStream。 – duffymo 2011-06-09 00:18:47