无法立即读取下载的文本文件

时间:2013-08-18 14:13:04

标签: android android-asynctask download readfile

我有一个应用程序,可以将文本文件从网络下载到应用程序专用文件夹/data/data/com.example.app。该文件包含下载时需要读取的一些数据。

我的应用中的代码:

private class DownloadTextFile extends AsyncTask<String, Integer, String> {
    @Override
    protected String doInBackground(String... sUrl) {
        // download text file 
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

        // read text file

        }

当我尝试阅读文本文件时,出现file not found错误 当我关闭应用程序并重新打开它时,应用程序会正确读取下载的文本文件。

编辑:

哈哈,我太傻了。谢谢你们 how can i make this question as answered

1 个答案:

答案 0 :(得分:1)

您应该阅读Async Class的onPostExecute(...)方法中的数据 因为onPostExecute(...)方法将在doInBackground(...)方法完成处理后执行,因此在调用onPreExecution(...)方法之前调用doInbackground(...)方法。因此,目前您正在尝试打开尚未在doInBackground(...)方法中下载的文件 你的代码应该是这样的:

private class DownloadTextFile extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... sUrl) {
    // download text file 
}

@Override
protected void onPostExecute(.....) {
    super.onPostExecute();

    // read text file

    }