java null指针异常

时间:2009-12-02 08:57:09

标签: java stream bytearray

我通过以下方法获得java.lang.NullPointerException while ((len = in.read(buf , 0 , buf.length)) >= 0)

public void copy(String  src, File dst) throws IOException {

  InputStream in = getClass().getResourceAsStream(src); 
        OutputStream out = new FileOutputStream(dst);

        byte[] buf = new byte[1012];
        int len;
        while ((len = in.read(buf , 0 , buf.length)) >= 0) {
            out.write(buf, 0, len);
            buf = null;
        }
        in.close();
        out.close();
    }

我没有得到它。如果我得到解决方案,我将感激不尽。谢谢你提前.......

5 个答案:

答案 0 :(得分:10)

你设置

buf = null; 

在第一次迭代时,在第二次buf.length处抛出NullPointerException。

答案 1 :(得分:2)

因为在循环的第一次迭代后设置了buf = null;。它会在while循环的第二次运行时失败。

答案 2 :(得分:2)

我在这里看到两个可能的NullPointer:

  1. buf=null;,它在第二次迭代时肯定会导致NullPointerException。
  2. 如果找不到null
  3. getResourceAsStream将返回src

答案 3 :(得分:1)

你的while循环中的

buf = null;导致问题,请尝试评论该行。

答案 4 :(得分:-1)

你需要在循环中使用以下内容:

buf = new byte[1012];

或者您可以完全删除buf = null

相关问题