我正在尝试将阶乘计算的结果导出到一个txt文件中。我从这里找到了一段代码,看起来非常直观。然而,我得到了标题上的错误。我做错了什么?
我已经在清单文件中输入了以下内容:
我已经在清单文件中输入了以下内容:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
以下是我与保存相关的代码:
public void save(View v) {
if(numOnRAM!=-1) {
EditText text = (EditText) findViewById(R.id.resultTextBox);
String data = text.getText().toString();
generateNoteOnSD(this,"fact"+numOnRAM+"Results.txt", data);
}
}
public void generateNoteOnSD(Context context, String sFileName, String sBody) {
try {
File root = new File(Environment.getExternalStorageDirectory(), "Notes");
if (!root.exists()) {
root.mkdirs();
}
File gpxfile = new File(root, sFileName);
FileWriter writer = new FileWriter(gpxfile);
writer.append(sBody);
writer.flush();
writer.close();
Toast.makeText(context, "File "+sFileName+" saving success!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(context, e.toString(), Toast.LENGTH_LONG).show();//After adding this
//toast message did I realise the error thar occurs.
}
}
root.mkdirs()
的执行结果成功了吗?你的目标 API 是什么?如果是 API 23 或更高版本,你需要在运行时请求权限。 - Michael Doddroot.mkdirs()
是否成功?创建项目后如何找出我正在针对哪个API?谢谢。 - Nicktrue
,否则返回false
。您可以在应用的build.gradle
文件中找到您的 API 目标级别。 - Michael DoddtargetSdkVersion 26
吗?我找不到任何新目录。 - Nick