Android写入内部存储和sd卡
在AndroidManifset.xml文件进行权限设置<!-- SDCard中创建与删除文件权限 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><!-- 向SDCard写入数据权限 --&am
·
在AndroidManifset.xml文件进行权限设置
<!-- SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 向SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
接着在使用SDcard进行读写的时候 会用到Environment类下面的几个静态方法:
1:getDataDirectory() 获取到Android中的data数据目录(sd卡中的data文件夹)
2:getDownloadCacheDirectory() 获取到下载的缓存目录(sd卡中的download文件夹)
3:getExternalStorageDirectory() 获取到外部存储的目录 一般指SDcard(/storage/sdcard0)
4:getExternalStorageState() 获取外部设置的当前状态 一般指SDcard,比较常用的应该是 MEDIA_MOUNTED(SDcard存在并且可以进行读写)还有其他的一些状态,可以在文档中进行查找。
5:getRootDirectory() 获取到Android Root路径
try {
String sd=Environment.getExternalStorageDirectory().getAbsolutePath();//获取sd卡路径
BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream(sd+"/123.txt",true));//sd卡
BufferedOutputStream out1=new BufferedOutputStream(Context.openFileOutput("123.txt",Context.MODE_APPEND));//内部存储
out.write("lhzlz".getBytes());
out1.write("lhzlz1".getBytes());
out.close();
out1.close();
} catch (IOException e1) {
e1.printStackTrace();
}
他们输出的位置分别是
storage\emulated\0\123.txt
data\data\com.******.******\files\123.txt
更多推荐
已为社区贡献5条内容
所有评论(0)