当前位置: 代码迷 >> Android >> Android中调用urlConnectoin.getInputStream 报错java.io.EOFException,该怎么解决
  详细解决方案

Android中调用urlConnectoin.getInputStream 报错java.io.EOFException,该怎么解决

热度:172   发布时间:2016-05-01 12:09:04.0
Android中调用urlConnectoin.getInputStream 报错java.io.EOFException

首先,这段代码是我在Android中用程序直接读取百度百科的html页面,然后再到程序中解析,现在的问题是,它还没开始读,就已经报错了!
情况如下:

这是报错信息:

07-05 23:31:36.827: W/System.err(2847): java.io.EOFException
07-05 23:31:36.835: W/System.err(2847): at java.util.zip.GZIPInputStream.readFully(GZIPInputStream.java:214)
07-05 23:31:36.835: W/System.err(2847): at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:81)
07-05 23:31:36.835: W/System.err(2847): at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:64)
07-05 23:31:36.842: W/System.err(2847): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.initContentStream(HttpURLConnectionImpl.java:539)
07-05 23:31:36.842: W/System.err(2847): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.retrieveResponse(HttpURLConnectionImpl.java:1046)
07-05 23:31:36.842: W/System.err(2847): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:512)
07-05 23:31:36.842: W/System.err(2847): at com.avin.priney.utils.GBKGetter.getKnowledgeByWord(GBKGetter.java:378)
07-05 23:31:36.842: W/System.err(2847): at com.avin.priney.android.AnswerStrategy.getFinalAnswer(AnswerStrategy.java:265)
07-05 23:31:36.842: W/System.err(2847): at com.avin.priney.android.PrineyMainActivity.getResultTxtByQuestionTxt(PrineyMainActivity.java:272)
07-05 23:31:36.850: W/System.err(2847): at com.avin.priney.android.PrineyMainActivity.onClick(PrineyMainActivity.java:145)
07-05 23:31:36.850: W/System.err(2847): at android.view.View.performClick(View.java:2485)
07-05 23:31:36.850: W/System.err(2847): at android.view.View$PerformClick.run(View.java:9090)
07-05 23:31:36.850: W/System.err(2847): at android.os.Handler.handleCallback(Handler.java:587)
07-05 23:31:36.850: W/System.err(2847): at android.os.Handler.dispatchMessage(Handler.java:92)
07-05 23:31:36.850: W/System.err(2847): at android.os.Looper.loop(Looper.java:130)
07-05 23:31:36.858: W/System.err(2847): at android.app.ActivityThread.main(ActivityThread.java:3859)
07-05 23:31:36.858: W/System.err(2847): at java.lang.reflect.Method.invokeNative(Native Method)
07-05 23:31:36.858: W/System.err(2847): at java.lang.reflect.Method.invoke(Method.java:507)
07-05 23:31:36.858: W/System.err(2847): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-05 23:31:36.858: W/System.err(2847): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-05 23:31:36.858: W/System.err(2847): at dalvik.system.NativeStart.main(Native Method)


下面贴出来出问题的代码段:

String webUrl = "http://baike.baidu.com/searchword/?word="+nCode+"&pic=1";
//内置的百科页面地址
String contentUrl = "http://baike.baidu.com";
BufferedReader br = null;
String backLine = null;
URL url = null;
try {
url = new URL(webUrl);
 
Log.d("Avin","webUrl going open...");
 
URLConnection conn =  url.openConnection();
 
Log.d("Avin","webUrl opened...");

Log.d("Avin","the question is-->"+question);
 
 //异常信息显示是这一行报错
br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

 
  相关解决方案