保留\ n从byte []转换为字符串

时间:2013-02-01 10:56:00

标签: java android string bytearray

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

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

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

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

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

2 个答案:

答案 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 = "";