Android 从服务器读取输入流时发生java.io.EOFException
我有一个问题,而连接到服务器它给EOFEException和程序卡在那里。 下面是stacktrace:Android 从服务器读取输入流时发生java.io.EOFException,android,http,exception-handling,httpresponse,httpurlconnection,Android,Http,Exception Handling,Httpresponse,Httpurlconnection,我有一个问题,而连接到服务器它给EOFEException和程序卡在那里。 下面是stacktrace: java.io.EOFException at com.android.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:95) at com.android.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:175) a
java.io.EOFException
at com.android.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:95)
at com.android.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:175)
at com.android.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:101)
at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:616)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:379)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:323)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:190)
源代码是:
protected String doInBackground(String... params) {
HttpURLConnection conn = null;
try {
// create connection
URL wsURL=new URL(params[0]);
conn=(HttpURLConnection) wsURL.openConnection();
conn.setConnectTimeout(15000);;
conn.setReadTimeout(10000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setUseCaches(false);
Uri.Builder builder = new Uri.Builder()
.appendQueryParameter("un", USERNAME);
String data = builder.build().getEncodedQuery();
byte[] outputInBytes = data.getBytes("UTF-8");
conn.setRequestProperty("Content-Length", "" + Integer.toString(outputInBytes.length));
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
os.write(outputInBytes);
os.close();
// get data
InputStream in = new BufferedInputStream(conn.getInputStream());
// converting InputStream into String
Scanner scanner = new Scanner(in);
String strJSON = scanner.useDelimiter("\\A").next();
scanner.close();
return strJSON;
我在生产线上遇到了这个异常。。。我在InputStream中获取数据的位置
InputStream in=新的BufferedInputStream(conn.getInputStream())
你能找到解决上述问题的办法吗?