我有一个名为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表示如果它不存在则会创建它
有什么不对?
答案 0 :(得分:1)
我用(new ContextWrapper(ctx)).openFileOutput(this.fileName, cxt)
答案 1 :(得分:0)
尝试编写测试以查看是否this.filename == null
,并使用Log.d(String,String)
方法输出结果。