📄 smsreturneventlistener.java
字号:
package sms;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import java.io.IOException;
import java.io.InputStream;
/*
* 短信发送AT指令可能有返回值,本事件监听器专门监听返回值
* 但是由于本CDMA正常工作时没有返回值,仅在出现状态错误的时候出现,因此本监听器可以看做是用来
* 捕获系统错误的类
*/
public class SMSReturnEventListener implements SerialPortEventListener {
private InputStream inputStream;
@Override
public void serialEvent(SerialPortEvent event) {
/*now I don't want to insert some programme into this block ,because
* I can't be sure that the super block would work well
*/
InputStream inputStream=null;
switch (event.getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE://当有可用数据时读取数据,并且给串口返回数据
{System.out.println("得到了一些返回值");
byte[] readBuffer = new byte[1024];
try {
while (inputStream.available() > 0) {//下一次可以不受阻塞而读取的字节数
int numBytes = inputStream.read(readBuffer);//从输入流中读取一定数量的字节,并将其存储在缓冲区数组readBuffer中。以整数形式返回实际读取的字节数。
}
// System.out.println(numBytes);//
} catch (IOException e){
}finally{
try {
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}}
break;
}
}
public void setInputStream(InputStream inputStream){
this.inputStream=inputStream;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -