java - App crashes when trying to write to file in internal storage - Android Studio -
i've been trying make app uses internal storage memory of phone. method looking like:
public void writetofile(string data,string name, context context) { try { fileoutputstream fos = openfileoutput(name, context.mode_private); fos.write(data.getbytes()); fos.close(); } catch (exception e) { e.printstacktrace(); } }
when try use writetofile method app crashes.
[edit]
i'm kinda new this mean?
08-20 17:32:04.301 921-921/com.adamcomp.websitecreator e/androidruntime: fatal exception: main process: com.adamcomp.websitecreator, pid: 921 java.lang.illegalargumentexception: file android.support.v7.widget.appcompatedittext{5211a9d vfed..cl. .f...... 150,514-570,605 #7f0d007c app:id/prjname}_code.txt contains path separator @ android.app.contextimpl.makefilename(contextimpl.java:2322) @ android.app.contextimpl.openfileoutput(contextimpl.java:466) @ android.content.contextwrapper.openfileoutput(contextwrapper.java:197) @ com.adamcomp.websitecreator.newproject.writetofile(newproject.java:75) @ com.adamcomp.websitecreator.newproject$1.onclick(newproject.java:60) @ android.view.view.performclick(view.java:5721) @ android.widget.textview.performclick(textview.java:10949) @ android.view.view$performclick.run(view.java:22624) @ android.os.handler.handlecallback(handler.java:739) @ android.os.handler.dispatchmessage(handler.java:95) @ android.os.looper.loop(looper.java:148) @ android.app.activitythread.main(activitythread.java:7407) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1230) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1120)
java.lang.illegalargumentexception: file android.support.v7.widget.appcompatedittext{5211a9d vfed..cl. .f...... 150,514-570,605 #7f0d007c app:id/prjname}_code.txt contains path separator
looks you're passing tostring()
of edittext
file name, , string representation contains invalid characters.
instead, text content inside edittext
, call gettext()
obtain editable
, call tostring()
on that. if have
edittext.tostring()
change to
edittext.gettext().tostring()
Comments
Post a Comment