gpt4 book ai didi

android - 如何更改 Inputstream Reader 中的缓冲区大小?

转载 作者:太空狗 更新时间:2023-10-29 14:30:44 30 4
gpt4 key购买 nike

我正在使用 WebService 获取数据,但我只获取了 62 条记录中的 9 条记录,我认为这是缓冲区大小的问题,对吗?

我使用以下代码从WebService获取数据,Webserivce是用php开发的。

public JSONObject PostConnectionObject(String strUrl,ArrayList<NameValuePair> alstNameValuePair) {
InputStream mInputStream = null;
try {
//This is the default apacheconnection.
HttpClient mHttpClient = new DefaultHttpClient();

//Pathe of serverside
HttpPost mHttpPost = new HttpPost(strUrl);
if(alstNameValuePair!=null)
{
//post the valur you want to pass.
mHttpPost.setEntity(new UrlEncodedFormEntity(alstNameValuePair));
}

//get the valu from the saerverside as response.
HttpResponse mHttpResponse = mHttpClient.execute(mHttpPost);
HttpEntity mHttpEntity = mHttpResponse.getEntity();
mInputStream = mHttpEntity.getContent();

}
catch (Exception e) {
// TODO Auto-generated catch block
Log.e(strTAG,"Error in HttpClient,HttpPost,HttpResponse,HttpEntity");
}

String strLine = null;
String strResult = null;

//convert response in to the string.
try {
BufferedReader mBufferedReader = new BufferedReader(new InputStreamReader(mInputStream,"iso-8859-1"), 8);
StringBuilder mStringBuilder = new StringBuilder();
while((strLine = mBufferedReader.readLine()) != null) {
mStringBuilder.append(strLine + "\n");
}
mInputStream.close();
strResult = mStringBuilder.toString();
System.out.println("Value of Result :"+strResult);
}
catch (Exception e) {
// TODO Auto-generated catch block
//System.out.println("Error in BufferedReadering");
Log.e(strTAG,"Error in BufferedReadering");
}

最佳答案

InputStreamReader 的文档没有提供设置它使用的缓冲区大小的方法。缓冲区的大小取决于实现者。

在您的代码中,您为 BufferedReader() 使用大小为 8 的缓冲区。因此,您可以通过更改 8(BufferedReader() 的第二个参数)来更改 BufferedReader 缓冲区的大小。

不过我认为这不会有帮助。即使缓冲区大小远小于行的长度,BufferedReader 仍会返回整行。

你的代码看起来很直接,我怀疑数据永远不会被发送。

关于android - 如何更改 Inputstream Reader 中的缓冲区大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7227026/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com