我有一个名为filegeneration的类,它扩展了活动
在filegeneration中,我有一个名为
protected OutputStream openAndWriteFile() {
// Set the Context-mode
int cxt = Context.MODE_PRIVATE;
// Check if we are not going to clear the file and the file exists
if (!clearFile && (new File(this.fileName)).exists()) {
// Append to the file
cxt = Context.MODE_APPEND;
}
// Try to open the file to write to
try {
// Open the File using the Context
this.os = openFileOutput(this.fileName, cxt);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Return the OutputStream
return this.os;
}
我在logcat中得到这个输出
06-08 15:31:43.733: ERROR/AndroidRuntime(2850): java.lang.NullPointerException
06-08 15:31:43.733: ERROR/AndroidRuntime(2850): at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:158)
06-08 15:31:43.733: ERROR/AndroidRuntime(2850): at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:158)
06-08 15:31:43.733: ERROR/AndroidRuntime(2850): at dataconnection.FileGeneration.openAndWriteFile(FileGeneration.java:278)
班上第278行是
this.os = openFileOutput(this.fileName, cxt);
但是当我在logcat中打印出参数的方法时
openFileOutput(Preferences.xml, 1);
该文件不存在,但openfileoutput说,如果不存在,它将创建该文件
有什么问题吗?
最佳答案
我用(new ContextWrapper(ctx)).openFileOutput(this.fileName, cxt)
解决了这个问题。