Как я могу прочитать текстовый файл (не HTML) с URL в Android?

1

Я запрашиваю текстовый файл с сервера. URL-адрес не заканчивается в файле some_file.txt, потому что файл создается динамически в запросе (не уверен, что это даже актуально). Когда я использую приведенный ниже код, я не читаю в тексте (хотя я читаю в html, если указал на URL-адрес с html).

            String text = "RESULTS:\n";

            try {  

                String urlString = 
                    "http://appdata.mysite.com/httpauth/" +
                    "hub/DAR_param1_RTQB?" + 
                    "method=query&list=param2"; 

                // Create a URL 
                URL url = new URL(urlString);

                // Read all the text returned by the server
                in = new BufferedReader(new InputStreamReader(url.openStream()));

                String line;
                while ((line = in.readLine()) != null) {
                    text = text + line;
                }                    
            } catch (MalformedURLException e) {
            } catch (IOException e) {
            } catch (Exception e) {
            } finally {
                if ( in != null ) {
                    try {
                        in.close();
                    } catch (IOException e) {
                        Log.e(TAG, "Exception trying to close BufferedReader");
                    }
                }
            } 

            return text;

Это возвращает только "РЕЗУЛЬТАТЫ:", но ни один текст. Что мне не хватает?

Изменение: Вот пример файла. Это отображается в браузере, если URL-адрес вставляется в адресную строку:

20120120_1734
20120120_1725
20120120_1715
20120120_1705
20120120_1655
  • 0
    Можете ли вы опубликовать пример файла, который сгенерирует этот запрос?
  • 0
    @DanW Я отредактировал свой оригинальный пост, чтобы показать файл.
Показать ещё 1 комментарий
Теги:
file
io
url

2 ответа

4
Лучший ответ

Вы проглатываете все возможные ошибки, которые необходимо устранить, чтобы устранить эту проблему.

В своих предложениях catch попробуйте добавить код, чтобы увидеть ошибки. Что-то вроде:

System.out.println("Error: ", e.getMessage());
  • 0
    ХОРОШО. Хорошая точка зрения. Я получаю исключение File Not Found. Оказывается, это была проблема аутентификации.
0

Вы добавили разрешения Интернета в манифест? Код выглядит отлично, но вы явно получаете некоторую ошибку и не выставляете ошибки, так как у вас нет сообщения печати в предложении catch.

Log.i("--->","e.getMessage()); //just like oldingn said 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню