1

問題

クライアントでのみ使用できる場合、サーバーとクライアント間でUTF-8データを送信する方法

inputStream.read()

ドキュメント

このストリームから1バイトを読み取り、0〜255の範囲の整数として返します。ストリームの終わりに達した場合は-1を返します。

reader.readLine()およびその他なし。(リーダーを使用すると、ストリームの終わりがわかりません)

助けてください!

(完全なコード:)

int c;
String str = new String();
while ((c = inputStream.read( )) != -1)
{
    char ch = (char)c;
    if(ch == '\n')
    {
        Log.v("", str);
        final String data = str;

        runOnUiThread(new Runnable()
        {
            @Override
            public void run()
            {
                String put[] = data.split("#");
                try
                {
                    //cmd parsing
                }
                catch(Exception e)
                {
                    //stop connection
                }
            }
        });
        str = "";
    }else{
        str += Character.toString(ch);
    }
}
//Communication error

助けてください

4

1 に答える 1

0

こちらの過去記事を参考にしていただければ幸いです。そこにはいくつかの良いオプションがあります。メソッドはread()さまざまなパラメーターでオーバーロードできるため、1 バイトまたはnバイトを読み取ることができます。ここで完全なドキュメントを確認してください。基本的に、生のバイトを読み込んでから、それらを ASCII 文字に変換する必要があります。BufferedReaderまた、または同等のクラスを使用できない理由について知りたいですか?

于 2012-11-13T22:06:02.360 に答える