2012-02-10 3 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, и он говорит: «Не удается получить доступ к удаленному ресурсу:». В журнале cat.

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; 
} 

Используя это, вы должны быть в состоянии эхо каждую строку из InputStream с помощью Log.d - вы должны быть в состоянии выяснить эту часть;)

+0

Спасибо за вашу помощь, однако мне нужно использовать метод readFromURL для выполнения лабораторных требований. –

+0

@AdamJakiela Да, я это понимаю. Причина, по которой я _специально не исправлял ваш метод, заключается в том, что вам нужно _learn_, что пошло не так (вы сами). Мы не здесь, чтобы делать домашнее задание для вас в Stack Overflow :) Если вы будете следовать логике в том, что я разместил, вы увидите, что ответ довольно тривиален. –

Смежные вопросы