我有一个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
答案 0 :(得分:1)
您已将数据存储为文本格式,并且您希望一次将其作为某些信息进行检索。 TextFormat无法实现这一点(部分可以通过创建Web服务实现)。为避免这种情况,我建议您将单词存储在mysql中,并使用webservice访问数据。
答案 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();