1

问题

如果我只能在客户端上使用,如何在服务器和客户端之间发送UTF-8数据

inputStream.read()

?

文档

从此流中读取单个字节并将其作为 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()方法可以使用不同的参数重载,因此您可以读取一个字节或n个字节。在此处查看完整的文档。基本上,您必须读取原始字节,然后将它们转换为 ASCII 字符。另外,我很好奇为什么你不能使用BufferedReader或同等课程?

于 2012-11-13T22:06:02.360 回答