Android写入内部存储和sd卡


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


猜你喜欢

转载自blog.csdn.net/u010756046/article/details/80281644