如何从服务器读取文本文件

时间:2013-12-31 07:11:50

标签: android text bufferedreader

我有一个15 MB的文本文件,可在服务器上使用。我不想要下载该文件。我的文件与索引一起排列。用户搜索在线文件中的任何单词。我很困惑,我怎么能阅读在线文本文件, 这是我正在使用的代码,但有OutOfMemoryError。

        final Handler mHandlr=new Handler();

        new Thread(new Runnable() {

            @Override
            public void run() {
                String d=getStringFromUrl(TafseerEngPath);
                tafseerTxt.setText(getJSONFromUrl(TafseerEngPath));
                mHandlr.post(new Runnable() {

                    @Override
                    public void run() {
                        tafseerTxt.setText(getJSONFromUrl(TafseerEngPath));
                    }
                });
            }
        }).start();

错误 12-31 18:08:01.100:E / AndroidRuntime(11052):java.lang.OutOfMemoryError

2 个答案:

答案 0 :(得分:1)

您已将数据存储为文本格式,并且您希望一次将其作为某些信息进行检索。 TextFormat无法实现这一点(部分可以通过创建Web服务实现)。为避免这种情况,我建议您将单词存储在mysql中,并使用webservice访问数据。

Android and PHP Web Service

答案 1 :(得分:1)

try {
   URL url = new URL("http://www.example.com/123.txt");
   Scanner s = new Scanner(url.openStream());
   // read from your scanner
}
catch(IOException ex) {
   // there was some connection problem, or the file did not exist on the server,
   // or your URL was not in the right format.
   // think about what to do now, and put it here.
   ex.printStackTrace(); // for now, simply output it.
}

URL url = new URL("http://www.example.com/123.txt");
InputStream in = url.openStream();