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.