在Android中存储数据的问题
我有一个按钮,它将上面以EditText形式写入的数据存储到内存中,但由于某些原因,代码无法工作。它甚至不显示祝酒词在Android中存储数据的问题,android,save,android-edittext,Android,Save,Android Edittext,我有一个按钮,它将上面以EditText形式写入的数据存储到内存中,但由于某些原因,代码无法工作。它甚至不显示祝酒词 final Button save = (Button) findViewById(R.id.buttonSave); final String Day = dayName; save.setOnClickListener(new OnClickListener() { @Override public void onClick(
final Button save = (Button) findViewById(R.id.buttonSave);
final String Day = dayName;
save.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String FILEOUTPUT = Day;
BufferedWriter bfw;
try {
bfw = new BufferedWriter (new FileWriter(FILEOUTPUT));
Scanner scan = new Scanner(new File(editData.getText().toString()));
bfw.write(scan.nextLine());
bfw.close();
Toast.makeText(ModifyInfo.this, "Saved", Toast.LENGTH_SHORT);
} catch (Exception e) {
Toast.makeText(ModifyInfo.this, "Save error", Toast.LENGTH_SHORT);
}
}
});
07-19 20:00:59.677:错误/文件保存(341):无法保存
07-19 20:00:59.677:错误/文件保存(341):
java.io.FileNotFoundException:/Monday(只读文件系统)
07-19 20:00:59.677:错误/文件保存(341):在
org.apache.harmony.luni.platform.OSFileSystem.open(本机方法)
07-19 20:00:59.677:错误/文件保存(341):在
BlockGuard$WrappedFileSystem.open(BlockGuard.java:232)
07-19 20:00:59.677:错误/文件保存(341):在
FileOutputStream.java.io.FileOutputStream。(FileOutputStream.java:94)
07-19 20:00:59.677:错误/文件保存(341):在
FileOutputStream.java.io.FileOutputStream。(FileOutputStream.java:66)
07-19 20:00:59.677:错误/文件保存(341):在
FileWriter.io.FileWriter.(FileWriter.java:80)
07-19 20:00:59.677:错误/文件保存(341):在
com.geft.timeline.ModifyInfo$2.onClick(ModifyInfo.java:77)
07-19 20:00:59.677:错误/文件保存(341):在
android.view.view.performClick(view.java:2485)
07-19 20:00:59.677:错误/文件保存(341):在
view.view$PerformClick.run(view.java:9080)
07-19 20:00:59.677:错误/文件保存(341):在
handleCallback(Handler.java:587)
07-19 20:00:59.677:错误/文件保存(341):在
android.os.Handler.dispatchMessage(Handler.java:92)
07-19 20:00:59.677:错误/文件保存(341):在
Looper.loop(Looper.java:123)
07-19 20:00:59.677:错误/文件保存(341):在
main(ActivityThread.java:3683)
07-19 20:00:59.677:错误/文件保存(341):在
java.lang.reflect.Method.Invokenactive(本机方法)
07-19 20:00:59.677:错误/文件保存(341):在
java.lang.reflect.Method.invoke(Method.java:507)
07-19 20:00:59.677:错误/文件保存(341):在
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-19 20:00:59.677:错误/文件保存(341):在
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-19 20:00:59.677:错误/文件保存(341):在
dalvik.system.NativeStart.main(本机方法)
您对这一行所做的操作可能是错误的
editData.getText().toString()
。如果您的editData是EditText,那么您的程序将需要其中的文件名。我认为您没有在此处提供文件名。您应该在此处输入应保存在文件中的字符串。日志中有任何异常吗?它不会显示toast,因为您没有调用toast.show()代码>(您可能可以将其链接)。我想你是弄错了。为什么不记录您的错误,而不是捕获它并抛出一个一般错误呢?至少在您的Toast
中使用e->getMessage()
,但最好将其写入日志。谢谢!我得到了祝酒词,但它一直在说“保存错误”。我很困惑。你能给我一个简短的例子说明我应该做什么吗?请看这个。Scanner scan=new Scanner(新文件(editData.getText().toString());这一行没有任何文件。请查看我之前评论中关于如何编写文件的问题的答案