我正在尝试保存html文件。我有扩展AsyncTask的类
public class DownloadBook extends AsyncTask<String, Void, String> {
在此类中,我有以下方法:
private void writeFile(String result, String title) throws FileNotFoundException {
FileOutputStream fos = openFileOutput(title+".html", MODE_PRIVATE);
PrintWriter pw = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(fos)));
pw.print(result);
pw.close();
}
MODE_PRIVATE提供以下错误:
MODE_PRIVATE无法解析为变量
然后我将其更改为Context.MODE_PRIVATE。现在,openFileOutput正在给出此错误:
未定义类型的方法openFileOutput(String,int)
资料下载
如何解决这个问题呢?
最佳答案
使用活动或应用程序上下文从openFileOutput
类调用DownloadBook
方法,如下所示:
FileOutputStream fos =
getApplicationContext().openFileOutput( title+".html", Context.MODE_PRIVATE);
如果
DownloadBook
是单独的java类,则使用类构造函数获取用于调用openFileOutput
方法的Activity上下文,如下所示:public class DownloadBook extends AsyncTask<String, Void, String> {
private Context context;
public DownloadBook(Context context){
this.context=context;
}
}
现在使用
context
调用openFileOutput
方法:FileOutputStream fos =
context.openFileOutput( title+".html", Context.MODE_PRIVATE);
从Activity传递上下文到DownloadBook类构造函数:
DownloadBook obj_Downloadbook=new DownloadBook(getApplicationContext());