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