在使用socket获取输入流读取数据时,总是提示空指针。获取输入流getInputstream()和创建socket是在一个线程中执行,又创建一个线程处理输入流中的数据。然后就会报错。
public class ReceiveThread implements Runnable {
@Override
public void run() {
while (true) {
try {// 此线程循环读取
Message message = Message.obtain();
byte[] buff = {};
buff = new byte[input.available()];//获取文件大小
if (buff.length != 0) {
inputStream.read(buff);
Bundle bundle = new Bundle();
bundle.putByteArray("buff", buff);
message.what = 0x101;
message.setData(bundle);
mhandle.sendMessage(message);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}