我有字节数组,我希望将它们转换为字符串,直到收到\ n,然后我想创建一个新的字符串。类似的东西:
if (dataReceived.charAt(i) != '\n') {
parseCommand = parseCommand + dataReceived.charAt(i);
} else if (dataReceived.charAt(i) == '\n') {
parseCommand = "";
}
但是当我从byte []转换为字符串时,没有\ n来测试字符串。我怎样才能保存它们?这样做的最佳方式是什么?
缓存传入的字节数组/块是否更好,直到我有一个完整的行(例如,当收到换行符),然后从这些字节数组中创建字符串,或者我可以将它们保存在字符串中吗?
答案 0 :(得分:1)
也许你应该试试Scanner。
String data = ...;
Scanner s = new Scanner(data);
while (s.hasNextLine()) {
String next = s.nextLine();
// do something with next
}
答案 1 :(得分:-1)
尝试这样做:
char c = dataReceived.charAt(i);
if (c != '\n' && c != '\r')
parseCommand = parseCommand + c;
else
parseCommand = "";