-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 に答える