📄 getinput.java
字号:
package com;
import java.io.*;
public class GetInput extends Thread {
int c = 0;// 用来保存接收到的一个字符
char c1 = ' ';
char c2 = ' ';
char c3 = ' ';
int i = 30;
public static boolean isCheck = false;
public static boolean Ring = false;
public static boolean NewMsgs=false;//有新信息时:+CMTI: "SM",007
boolean isNeed = false;
public void run() {
// System.out.println("Threak_Get:ok!Waiting input and print:");
Gsm_Main_Frame.system_setup_jTextArea.insert("Com口初始化完毕.\n接收线程已启动:\n",
0);
try {
while ((c = SendMsg.in.read()) != -1)// 如果接收到字符
{
System.out.print((char) c);// 则往屏幕打印
if ((c1 == 'C') && (c2 == 'S') && (c3 == 'C')
&& ((char) c == 'A'))// 判断开头
break;
c1 = c2;
c2 = c3;
c3 = (char) c;
}
// System.out.print("\n1\n");
while ((c = SendMsg.in.read()) != -1)// 如果接收到字符
{
System.out.print((char) c);// 则往屏幕打印
if (i-- > 0)
SendMsg.csca += (char) c;
else
break;
}
// System.out.print("\n2\n");
while ((c = SendMsg.in.read()) != -1)// 如果接收到字符
{
System.out.print((char) c);// 则往屏幕打印
if ((c3 == 'O') && ((char) c == 'K')) // 判断开头
{
SendMsg.OK = true;
isNeed = false;// 收完了,别保存信息了
isCheck = false;
}
else if ((c1 == 'R') && (c2 == 'R') && (c3 == 'O')
&& ((char) c == 'R'))// 判断开头
{
SendMsg.ERROR = true;
isNeed = false;// 出错了,别保存信息了
isCheck = false;
}
if (isCheck)// 检测是否需要保存信息,由调用者确定
if ((c1 == 'C') && (c2 == 'M') && (c3 == 'G')
&& ((char) c == 'L'))// 如果检测到收信息命令
isNeed = true;// 需要开始保存信息
if (isNeed)// 保存收到的信息数据
SendMsg.Msgs += (char) c;
if(!Ring)//有电话:RING...
if ((c1 == 'R') && (c2 == 'I') && (c3 == 'N')
&& ((char) c == 'G'))// 如果检测到有电话接入
Ring=true;
if(!NewMsgs)//有新信息:+CMTI: "SM",007
if ((c1 == 'C') && (c2 == 'M') && (c3 == 'T')
&& ((char) c == 'I'))// 如果检测到有信息,通知接受线程
NewMsgs=true;
c1 = c2;
c2 = c3;
c3 = (char) c;
}
// System.out.print("\n3\n");
} catch (IOException e) {
// System.out.println("Threak_Get:OH MY GAD!");
Gsm_Main_Frame.system_setup_jTextArea.insert("读取数据时出错!\n", 0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -