【发布时间】:2015-03-07 13:51:06
【问题描述】:
我不明白,我做错了什么:
public static void writeToFile(InputStream inputStream, File file) throws IOException, FileNotFoundException {
OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file));
try {
int size = 1024 * 1024;
byte[] buf = new byte[size];
int byteRead;
while ((byteRead = inputStream.read(buf)) > 0) {
outputStream.write(buf, 0, byteRead);
}
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
例外:
6157-6185/com.wiserep E/AndroidRuntime﹕ FATAL EXCEPTION:
IntentService[SynchronizationService] java.lang.OutOfMemoryError
at java.lang.String.<init>(String.java:432)
at java.lang.AbstractStringBuilder.toString(AbstractStringBuilder.java:642)
at java.lang.StringBuffer.toString(StringBuffer.java:723)
at com.splunk.mint.network.io.InputStreamMonitor.updateBody(InputStreamMonitor.java:104)
at com.splunk.mint.network.io.InputStreamMonitor.read(InputStreamMonitor.java:71)
at com.wiserep.web.HttpTransport$HttpHelper.writeToFile(HttpTransport.java:196)
图书馆:
- 导入android.util.Log;
- 导入 org.apache.http.NameValuePair;
- 导入 javax.net.ssl.*;
- 导入java.io.*;
- 导入java.net.*;
- 导入 java.security.cert.X509证书;
- 导入 java.text.SimpleDateFormat;
- 导入java.util.Date;
- 导入 java.util.List;导入 java.util.Locale;
【问题讨论】:
-
避免在同一操作中赋值和读取值。这只会让你和其他阅读代码的人感到困惑。
-
是什么让您认为特定的 OME 来自您提到的代码?看起来你正在使用一些库
com.splunk.mint.network.io。
标签: java out-of-memory inputstream fileoutputstream