嗨,我有一個問題,我無法解決。 在我的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