我创建了一个java程序,它只会读取网页代码......例如谷歌的代码,它工作得很好。不过,我尝试在模拟器和实际设备 Droid X 上的 Android 应用程序中实现相同的代码。
我尝试了两种不同的方法,发现无论哪种方法都是抛出 IOException 的同一行。它是创建新的 bufferReader 的行。我不知道是bufferReader还是InputStreamReader。另外,除了打印 IOException 之外,我真的不知道如何从异常中获取更多信息。这是重要的代码。谢谢。
try { //method 1 URL page = new URL("http://192.168.1.108/score.php"); URLConnection pageconnection = page.openConnection(); BufferedReader in = new BufferedReader( new InputStreamReader( pageconnection.getInputStream())); //method 2 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.connect(); BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); while ((inputLine = rd.readLine()) != null) System.out.println(inputLine); in.close(); rd.close(); HscoreText.setText("It Worked!"); } catch(MalformedURLException e) { HscoreText.setText("MalformedURL"); } catch (IOException e) { HscoreText.setText("IOException"); }
最佳答案
不要这样做,
HscoreText.setText("IOException");
你可以做到这一点。
HscoreText.setText(e.getMessage());
查看异常消息。你是说你的代码可以在 Android 之外运行吗?
尝试重新启动 Eclipse 和模拟器。尝试使用不同的 URL。
关于java - bufferedReader 和 InputStreamReader 总是抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4729472/