2012-02-10 94 views
-1

我有一个家庭作业,我必须从一个文件加载代码行并将它们输出到日志猫中。以下是我的代码:从URL读取时遇到问题(Android)

private void readFromURL (String requestedURL){ 

    try { 
     URL myurl = new URL (requestedURL); 
     InputStream mystream = myurl.openStream(); 
     Scanner myscan = new Scanner (mystream); 

     while (myscan.hasNextLine()) { 
      String aLine = myscan.nextLine(); 
      Log.d ("works", aLine); 
     } 
    } 
    catch (MalformedURLException oops) { 
       Log.d ("ERROR" , "Are you sure the URL is correct?" + oops); 
    } 
    catch (IOException oops_again) 
    { 
       Log.d ("ERROR", "Can't access the remote resource: " + oops_again); 
    } 
} 

readFromURL方法是通过单击按钮来调用的。每当我运行应用程序时,我都会得到IOException,它会显示“无法访问远程资源:”。在日志猫。

的URL,我试图抓住信息从为:http://www.cis.gvsu.edu/~dulimarh/CS163H/courses.cgi

我加入互联网清单中的权限。

感谢您的帮助!

回答

0

使用以下方法来获取数据的InputStream做你需要的东西:

private InputStream downloadUrl(String url) { 
    HttpURLConnection con = null; 
    URL url; 
    InputStream is=null; 
    try { 
    url = new URL(url); 
    con = (HttpURLConnection) url.openConnection(); 
    con.setRequestMethod("GET"); 
    con.setDoInput(true); 
    // Start the query 
    con.connect(); 
    is = con.getInputStream(); 
    }catch (IOException e) { 
    //handle the exception ! 
    e.printStackTrace(); 
    } 
    return is; 
} 

利用这一点,你应该能够呼应使用Log.dInputStream每一行 - 你应该能够找出那部分;)

+0

感谢您的帮助,但是我需要使用readFromURL方法来满足实验室要求。 – 2012-02-10 18:17:11

+0

@AdamJakiela是的,我意识到这一点。我具体_没有纠正你的方法的原因是因为你需要_learn_(你自己)出了什么问题。我们不在这里为你在Stack Overflow上做你的功课:)如果你按照我发布的逻辑进行操作,你会发现答案很简单。 – 2012-02-10 18:19:55