如何从Android中的URL读取文本文件(而不是HTML)?

时间:2012-01-20 17:32:33

标签: java android file url io

我从服务器请求文本文件。 url不会以some_file.txt结尾,因为文件是根据请求动态创建的(不确定是否相关)。当我使用下面的代码时,我没有在文本中阅读(虽然我在html中读取,如果指向具有html的URL)。

            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

2 个答案:

答案 0 :(得分:4)

您正在吞下解决此问题所需的所有潜在错误。

在catch子句中,尝试添加一些代码来查看错误。 有点像:

System.out.println("Error: ", e.getMessage());

答案 1 :(得分:0)

您是否在清单中添加了Internet权限?代码看起来很好,但你明显得到一些错误而不输出错误,因为你在catch子句中没有打印消息。

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