gpt4 book ai didi

java - 如何将AT命令的输出转换为java中的字符串?

转载 作者:行者123 更新时间:2023-11-30 11:25:38 24 4
gpt4 key购买 nike

我正在尝试读取 AT 命令的结果(执行命令以从控制台对 GSM 调制解调器执行各种操作)。我已经看到并成功地测试了使用 Java OuputStream 类来获取 AT 命令的结果作为输出流,但我需要做的是获取结果而不是作为输出流,而是在我的类中获取一个变量(现在是字符串)。

如果可以的话

outStream.write(("Some At command").getBytes());

哪个工作正常,怎么可能做这样的事情

Strign resultOfCommmand=.....result of some AT command;

我正在尝试这种方式

 InputStream is = new ByteArrayInputStream(("some at commamd").getBytes());

String result = getStringFromInputStream(is);

System.out.println("66666666666666666666-----"+result);

/////////////////////

private static String getStringFromInputStream(InputStream is) {

BufferedReader br = null;
StringBuilder sb = new StringBuilder();

String line;
try {

br = new BufferedReader(new InputStreamReader(is));
while ((line = br.readLine()) != null) {
sb.append(line);
}

} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

return sb.toString();

}

但不是获取结果,而是将 at 命令本身作为字符串获取 像这样....输出:

66666666666666666666-----AT+CMGR=20

最佳答案

您必须重组程序中的流程,使其以发送 AT 命令行开始,然后回读并解析从调制解调器返回的每条响应行,直到您获得最终结果结果代码。参见 this answer大纲。

正确解析 AT 命令响应并不那么复杂,请查看 atinout 的源代码举个例子。

关于java - 如何将AT命令的输出转换为java中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20215374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com