1

私は Android 用の MonoDevelop を使用しています。テキスト ファイルをインターネットからダウンロードして文字列に保存する方法を教えてください。

これが私のコードです:

        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

これは、プロジェクトで Web サイトをダウンロードするために使用するコードです。

この関数に URI を渡すだけで、Web サイト全体を含む 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 に答える