关闭WWW的Android下载文本文件

时间:2013-01-11 01:54:28

标签: c# text download monodevelop inputstream

我正在使用MonoDevelop for Android,并希望能够从互联网上下载文本文件并将其存储在字符串中。

这是我的代码:

        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下载文本文件并将内容保存到字符串中,请给我一些帮助来实现它。

提前致谢。

1 个答案:

答案 0 :(得分: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();
 }

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