android通过FT311D芯片usb通信

android设备使用usb线通过FT311D芯片与下位机设备进行通信,但是在最后退出程序时,由于fileinputstream.read方法在阻塞,所以无法彻底清除退出,当再一次启动程序与下位机通信时,就是报错。有大神帮忙解答一下么!!!十分感谢!!!

最起码得知道错误是什么呀,

关键代码如下:
private class read_thread extends Thread {

    public void run() {
        try {
            while (READ_ENABLE) {

                if (inputstream != null) {
                    try {
                        readcount = inputstream.read(usbdata, 0, 1024);

                    } catch (Exception e) {

                        Log.i("test", "读取异常了" + e.getMessage()+";"+e.getCause());
                        continue;
                    }

                    if (readcount > 0) {// 收到数据了
                        Message msg = new Message();
                        msg.obj = buffer;
                        msg.arg1 = readcount;
                        mHandler.sendMessage(msg);

                        for (int i = 0; i < readcount; i++) {
                            Log.i("test", "接收到第" + i + "位的数据" + buffer.get(i));
                        }
                    } 
                }
            }
        } catch (Exception e) { 
            Log.i("test", "异常了" + e);
        }
        Log.i("test", "while (READ_ENABLE == false)线程结束");

    }
}

public void DestroyAccessory() {

    READ_ENABLE = false;    
    try {
        inputstream.close();
    } catch (Exception e) {
        Log.i("test", "异常"+e.getMessage());
    }
}