-1

我有字节数组,我希望将它们转换为字符串,直到收到 \n,然后我想创建一个新字符串。就像是:

if (dataReceived.charAt(i) != '\n') {
    parseCommand = parseCommand + dataReceived.charAt(i);

} else if (dataReceived.charAt(i) == '\n') {
    parseCommand = "";
}

但是当我从 byte[] 转换为字符串时,没有 \n 来测试字符串。我怎样才能保存它们?做这个的最好方式是什么?

缓冲传入的字节数组/块直到我有一个完整的行(例如,当收到换行符时)然后从这些字节数组中创建字符串,或者我可以将它们保存在一个字符串中,是不是更好?

4

2 回答 2

1

也许你应该试试Scanner

String data = ...;
Scanner s = new Scanner(data);
while (s.hasNextLine()) {
     String next = s.nextLine();
     // do something with next
}
于 2013-02-01T11:02:07.607 回答
-1

尝试这样做:

char c = dataReceived.charAt(i);

if (c != '\n' && c != '\r')
    parseCommand = parseCommand + c;
else
    parseCommand = "";
于 2013-02-01T11:21:47.350 回答