Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 写字符数组_Android_Buffer_Inputstream - Fatal编程技术网

Android 写字符数组

Android 写字符数组,android,buffer,inputstream,Android,Buffer,Inputstream,我想从溪流中阅读。在实体中,我不设置内容长度,为此,我无法创建具有固定和正确大小的缓冲区。我创建了一个长度为16384的缓冲区,但我的数据更多,部分数据丢失!我想从流中读取并写入字符数组,但我不想用readLine读取。如何编写此代码?请用部分代码解释 谢谢 char[] buffer; if (contentLength == -1) buffer = new char[16038]; else buffer =

我想从溪流中阅读。在实体中,我不设置内容长度,为此,我无法创建具有固定和正确大小的缓冲区。我创建了一个长度为16384的缓冲区,但我的数据更多,部分数据丢失!我想从流中读取并写入字符数组,但我不想用readLine读取。如何编写此代码?请用部分代码解释

谢谢

char[] buffer;
        if (contentLength == -1)
            buffer = new char[16038];
        else
            buffer = new char[contentLength];

        InputStream stream = responseEntity.getContent();
        //String resultS=convertStreamToString(stream);


        InputStreamReader streamReader = new InputStreamReader(stream,"UTF-8");
        int hasRead = 0;
        int readSize = 0;
        int bufferLength = buffer.length;

        //List<Byte>  listChar=new ArrayList<Byte>();

        while (hasRead < bufferLength) {
            readSize = streamReader.read(buffer, hasRead, bufferLength
                    - hasRead);
            if (readSize == -1)
                break;
            hasRead += readSize;
        }
char[]缓冲区;
如果(contentLength==-1)
缓冲区=新字符[16038];
其他的
缓冲区=新字符[contentLength];
InputStream=responseEntity.getContent();
//字符串结果=convertStreamToString(流);
InputStreamReader streamReader=新的InputStreamReader(流,“UTF-8”);
int hasRead=0;
int readSize=0;
int bufferLength=buffer.length;
//List listChar=new ArrayList();
while(hasRead
将您发布的代码替换为:

InputStream stream = responseEntity.getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(stream,"UTF-8"));
StringBuilder sb = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
    sb.append(line);
}
char buffer[] = sb.toString().toCharArray();

我在哪里写这段代码?我在append方法中设置了什么?我写了这个,但json的结尾部分没有返回。为什么?这是服务器的问题还是客户端的问题?可能是服务器端的问题,您可以检查
responseEntity.getContent()返回正确的数据还是
null