嗨,我有一个问题,我无法解决。 在我的Android \ java应用程序中,我调用脚本download.php。基本上它提供了一个文件输出,我下载并保存在我的设备上。我必须在我的所有php脚本上添加一个控件,基本上就是向脚本发送一个令牌并检查它是否有效。如果它是一个有效的标记,我会得到输出(在这种情况下,其他脚本中的文件是一个json文件),如果不是,我会返回一个字符串“false”。java:错误检查php输出
要在我的其他Java文件检查此条件,我用IOUtils方法输入流变成一个字符串,检查,而且比
InputStream newInputStream = new ByteArrayInputStream(mystring.getBytes("UTF-8"));
再次获得一个有效的输入流和读吧.. ....它与我的JSON文件,但不是在这种情况下......我得到这个错误:当我尝试IOUtils.toString(inputStream, "UTF-8");
我认为这是
11-04 16:50:31.074: ERROR/AndroidRuntime(32363): java.lang.OutOfMemoryError
因为在此CA我试图下载真正的长文件。
fileOutput = new BufferedOutputStream(new FileOutputStream(file,false));
inputStream = new BufferedInputStream(conn.getInputStream());
String result = IOUtils.toString(inputStream, "UTF-8");
if(result.equals("false"))
{
return false;
}
else
{
Reader r = new InputStreamReader(MyMethods.stringToInputStream(result));
int totalSize = conn.getContentLength();
int downloadedSize = 0;
byte[] buffer = new byte[1024];
int bufferLength = 0;
while ((bufferLength = inputStream.read(buffer)) > 0)
{
fileOutput.write(buffer, 0, bufferLength);
downloadedSize += bufferLength;
}
fileOutput.flush();
fileOutput.close();
文件多长/多大? – Mob