Android 2,.1中获取内存卡上的data/data/org.lesohome.activity/files/目录,保存在此目录的文件,当程序卸载时,系统会自动删除。
从Android 2.2开始,系统增加了新的函数:
context.getExternalFilesDir() 来统一Android程序在Sd上的保存目录约定,省的大家看到SD卡根目录越来越乱了。
通过此函数获取了保存目录后,保存在此目录的文件,当程序卸载时,系统会自动删除。
另外提供了新的函数:
Environment.getExternalStoragePublicDirectory(),通过此函数获取保存目录后,保存在此目录的文件,程序卸载时,不会被自动删除。
写了一个程序,截图如下,可以很方便的看到如何使用:
PS:
开始工程忘了加读写SD卡权限,得到的路径是null。
另外,getCacheDir()和getFilesDir()方法区别.
Activity提供了getCacheDir()和getFilesDir()方法:
getCacheDir()方法用于获取/data/data//cache目录
getFilesDir()方法用于获取/data/data//files目录
将文件写入SD卡内:
获取SDCard的状态:
Environment.getExtemalStorageState()
EnvironmentMEDIA_MOUNTED手机装有SDCard,并且可以进行读写
获取SDCard的目录:Environment.getExtemalStorageDirectory()
File saveFile=new File("/sdcard/zhzhg.txt");
或:File sdCardDir=new File("/sdcard");//获取SD卡目录
File saveFile-new File(sdCardDir,"zhzhg.txt");
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("文件的读写".getBytes());
outStream.close();