【问题标题】:Read a text file from web in Android在 Android 中从 Web 读取文本文件
【发布时间】:2013-06-12 12:40:59
【问题描述】:

作为我项目的一部分,我想阅读一个包含 URL say(www.example.com/download.html) 的在线文本文件。

我们可以通过 (www.example.com/url.txt) 访问的文本文件。

我想读取文本文件的内容并将其存储在一个字符串中。有人请帮我解决这个问题。尝试了Read text file from server in Android app 方法但不起作用。

【问题讨论】:

  • 不工作是什么意思?有错误吗?崩溃?请发布您到目前为止的代码。
  • 您是否收到此异常 NetworkOnMainThreadException ?您是否在清单中添加了此权限:<uses-permission android:name="android.permission.INTERNET"/>
  • 它没有从服务器读取文本文件。增加了 manifest 的权限。
  • 您遇到了什么错误?而不是从 .txt 文件读取尝试使用 json 读取
  • 尝试 { url = new URL("example.com/update.txt"); BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); urlString = in.readLine(); in.close( ); } catch (MalformedURLException e) { } catch (IOException e) { } 这是阅读代码...

标签: android file


【解决方案1】:

您是否检查了从 http 请求中获得的 HttpResponce 代码是否为 200?

【讨论】:

  • code try { url = new URL("example.com/update.txt"); BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); urlString = in.readLine(); in .close(); } catch (MalformedURLException e) { } catch (IOException e) { } 文本文件只有一行,就是一个 url。
  • 我认为使用 Apache HttpClient 类是一种通过 Web 获取数据的标准方法。我看到的主要优点是响应代码可以更好地了解正在发生的事情。您可能会发生很多事情,例如重定向、不允许访问、与证书相关的错误。 link
  • 我对java编程没有太多了解。这是我项目的一部分,所以我只是根据我的要求从网络学习。如果你能给我一个很好的例子。希望您现在从整个代码中了解我的需求。
  • 当然。这应该可以帮助你link。如果您仍然无法阅读,请在获取 BufferedReader 之前添加以下行:httpResponse.getStatusLine().getStatusCode()。这将告诉您标准响应代码,您可以将其与link 进行比较
  • 感谢会测试它并让你知道... :)
【解决方案2】:

您可能需要创建一个线程来处理此请求。在大多数版本中,Android 操作系统禁止在主线程中进行网络请求。

查看question

【讨论】:

    猜你喜欢
    • 2015-03-17
    • 2011-11-25
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    相关资源
    最近更新 更多