我正在處理與Android的藍牙連接,我想讀取InputStream緩衝區,直到我得到某些特定字符(如'\ n'(換行)或任何其他字符並將緩衝區保留爲它是,然後再讀取以下字節,直到讀取相同的字符,以便將它們放在單獨的字符串中。我嘗試了幾種方法,但沒有成功,有人能幫助我嗎?Android InputStream。讀緩衝區,直到特定字符
我使用來獲取數據的代碼如下
public String getData() {
try {
inStream = btSocket.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
try {
inStream.read(inString);
}
catch (IOException e){
e.printStackTrace();
}
String str= new String(inString, StandardCharsets.UTF_8);
return str;
}
讀者classses的谷歌一行readline()和你完成了。 – greenapps
謝謝。我看到這是專門爲'\ n'。但是其他特定字符怎麼樣? – mialver
然後製作你自己的readline()。這很簡單。建立一個循環,逐個讀取字節並檢查字節是否包含該字符。將字節添加到您返回的緩衝區。 – greenapps