1

我正在使用适用于 Android 的 MonoDevelop,并且希望获得一些帮助以从 Internet 下载文本文件并将其存储在字符串中。

这是我的代码:

        try 
        {
            URL url = new URL("mysite.com/thefile.txt");

            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
            String str;
            while ((str = in.readLine()) != null) 
            {
                // str is one line of text; readLine() strips the newline character(s)
            }

            in.close();
        } 
        catch (MalformedURLException e) 
        {

        } catch (IOException e) 
        {

        }

我收到以下错误:

无效的表达式术语“in”;

我可以请一些帮助以使此代码正常工作。如果有一种更简单的方法可以从 WWW 上下载文本文件并将内容保存到字符串中,请帮助我实现它。

提前致谢。

4

1 回答 1

1

这是我们用于项目下载网站的代码。

只需将此函数传递给您的 URI,您将返回一个包含整个网站的 BufferedReader。

   public static BufferedReader openConnection(URI uri) throws URISyntaxException, ClientProtocolException, IOException {
        HttpGet http = new HttpGet(uri);
        HttpClient client = new DefaultHttpClient();
        HttpResponse resp = (HttpResponse) client.execute(http);
        HttpEntity entity = resp.getEntity();
        InputStreamReader isr = new InputStreamReader(entity.getContent());
        BufferedReader br = new BufferedReader(isr, DNLD_BUFF_SIZE);
        return br;
    }

您可以通过以下方式制作 uri:

try{
    try{
    URI uri = new URI("mysite.com/thefile.txt");
    catch (Exception e){} //Should never occur

    BufferedReader in = openConnection(uri);
    String str;
        while ((str = in.readLine()) != null) 
        {
         // str is one line of text; readLine() strips the newline character(s)
        }
    in.close();
    } 
 catch (Exception e){
 e.printStackTrace();
 }

这应该可以帮助您下​​载该网站。

于 2013-01-11T02:02:47.570 回答