在调试一个SWT的SOCKET通信程序时提示了标题所示的错误.
查看了一下API:
public void write(byte[] b, int off, int len) throws IOException
-
将指定字节数组中从偏移量
off
开始的len
个字节写入此输出流。write(b, off, len)
的常规协定是:将数组b
中的某些字节按顺序写入输出流;元素b[off]
是此操作写入的第一个字节,b[off+len-1]
是此操作写入的最后一个字节。OutputStream
的write
方法对每个要写出的字节调用一个参数的 write 方法。建议子类重写此方法并提供更有效的实现。如果
b
为null
,则抛出NullPointerException
。
但是发现输出的字节数组不是null.于是继续上网找,终于发现了问题:
我的部分代码:
OutputStream out = null;
//问题
String str = "输出文本";
byte buff[] = str.getBytes();
out.wirte(buff);
其中注释的地方应该填上
out = socket.getOutputStream();
否则会造成out = null引起的NullPointException。