I have a button which stores data written in the EditText form above it to internal memory, but for some reason the code doesn't work. It doesn't even display the toast message.
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: ERROR/File Save(341): Fail to save
07-19 20:00:59.677: ERROR/File Save(341): java.io.FileNotFoundException: /Monday (Read-only file system)
07-19 20:00:59.677: ERROR/File Save(341): at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method)
07-19 20:00:59.677: ERROR/File Save(341): at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:232)
07-19 20:00:59.677: ERROR/File Save(341): at java.io.FileOutputStream.(FileOutputStream.java:94)
07-19 20:00:59.677: ERROR/File Save(341): at java.io.FileOutputStream.(FileOutputStream.java:66)
07-19 20:00:59.677: ERROR/File Save(341): at java.io.FileWriter.(FileWriter.java:80)
07-19 20:00:59.677: ERROR/File Save(341): at com.geft.timetable.ModifyInfo$2.onClick(ModifyInfo.java:77)
07-19 20:00:59.677: ERROR/File Save(341): at android.view.View.performClick(View.java:2485)
07-19 20:00:59.677: ERROR/File Save(341): at android.view.View$PerformClick.run(View.java:9080)
07-19 20:00:59.677: ERROR/File Save(341): at android.os.Handler.handleCallback(Handler.java:587)
07-19 20:00:59.677: ERROR/File Save(341): at android.os.Handler.dispatchMessage(Handler.java:92)
07-19 20:00:59.677: ERROR/File Save(341): at android.os.Looper.loop(Looper.java:123)
07-19 20:00:59.677: ERROR/File Save(341): at android.app.ActivityThread.main(ActivityThread.java:3683)
07-19 20:00:59.677: ERROR/File Save(341): at java.lang.reflect.Method.invokeNative(Native Method)
07-19 20:00:59.677: ERROR/File Save(341): at java.lang.reflect.Method.invoke(Method.java:507)
07-19 20:00:59.677: ERROR/File Save(341): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-19 20:00:59.677: ERROR/File Save(341): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-19 20:00:59.677: ERROR/File Save(341): at dalvik.system.NativeStart.main(Native Method)
what you doing with this line is wrong probably editData.getText().toString()
.If your editData is an EditText then your program will need a file name from it.I think you are not providing file name here.You are supposed to enter the string here that should be saved in the file.
精彩评论