读写SD卡上的文件:
- 调用Evironment的getExternalStorageState()方法判断手机是否有SD卡,并且应用程序有读写SD卡的权限。
- 调用Evironment的getExternalStorageDirectory()获取SD卡目录
- 使用FileOutputStream、FileInputStream、FileReader、FileWrite读写SD卡里的文件
对于读写SD卡的文件,必须在Manifest里面加权限:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.sharedpreferences" >
<!--这是插拔卡权限-->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<!-- 这是手机本身内存权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
Demo(只贴了写的,读是文件输入流读取):
public void onClick(View v) {
switch (v.getId()){
case R.id.btn_write_sdcard:
File file=new File(Environment.getExternalStorageDirectory(),"hehe");//路径、文件名
if (!file.exists()){//文件是否存在
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
try {//文件输出流
FileOutputStream outputStream=new FileOutputStream(file);
PrintWriter printWriter=new PrintWriter(new OutputStreamWriter(outputStream));
printWriter.write("你好,sdcard");
printWriter.flush();
printWriter.close();
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
break;
生成文件: