
我想将文本文件保存到我插入运行HTC One M8的棒棒糖的SD卡中.但是,当我运行此代码时,它将保存到内部存储中.
String filename = "mysavefile.txt"; file file = new file(Environment.getExternalStorageDirectory(), filename); if (isExternalStorageWritable()) { errorSD.setVisibility(VIEw.INVISIBLE); try { fileOutputStream fos = new fileOutputStream(file, false); fos.write(allinformation.getBytes(), 0, 81); fos.close(); successfulSubmissionToast(); } catch (fileNotFoundException e) { e.printstacktrace(); errorSD.setVisibility(VIEw.VISIBLE); } catch (IOException e) { e.printstacktrace(); }它应该保存到
/storage/ext_sd而是保存到
/storage/emulated/0然后我尝试手动输入SD卡的位置以查看是否可行,但最终抛出fileNotFoundException
file file = new file("/storage/ext_sd", filename);编辑:
我认为问题在于有多个外部存储.一是永久的,一是临时的.问题是您如何访问第二个.
解决方法:
首先,我们需要了解内部存储,外部存储(又称主外部存储)和辅助外部存储之间的区别是什么?
内部存储:是用户无法访问的存储,除非通过已安装的应用程序(或通过植根其设备).示例:data / data / app_packagename
主要外部存储:内置的共享存储,“用户可以通过插入USB电缆并将其作为驱动器安装在主机上进行访问”.示例:当我们说Nexus 5 32 GB时.
辅助外部存储:可移动存储.示例:SD卡.
getExternalStorageDirectory ()它将返回主外部存储目录的路径
要访问可移动SD(辅助外部存储),请使用以下API:
getExternalfilesDirs(),getExternalCacheDirs()和getExternalMediaDirs()
查看那里的文档以获取更多信息
总结以上是内存溢出为你收集整理的Android未保存到SD卡全部内容,希望文章能够帮你解决Android未保存到SD卡所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)