参考张泽华视频
(一)读写手机内存卡中的文件
对手机中的文件进行读写操作,或者新增一个文件时,可直接使用openFileOutput / openFileInput 得到文件的输出、输入流。
FileOutputStream fos = this.openFileOutput("private.txt",MODE_PRIVATE);
fos.write("test".getBytes());
上述代码会在/data/data/com.ljh.basiclogin/files下生成一个文件(若文件不存在)或者写内容至原有文件
文件的访问权限有以下三种:
MODE_PRIVATE
MODE_WORLD_READABLE
MODE_WORLD_WRITABLE
(二)读写sdcard中的文件
File file = new File("/sdcard/private1.txt");
FileOutputStream fos = new FileOutputStream(file);
fos.write("test".getBytes());
1、考虑权限问题
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
2、在读取之前先判断SD卡是否可用
(1)判断SD卡是否插入
boolean sdCardExist = Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
(2)获得sd卡根目录:
if (sdCardExist) {
File dir = Environment.getExternalStorageDirectory();
path = dir.getAbsolutePath();
}
(3)新建目录
boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
if (sdCardExist) {
File dir = Environment.getExternalStorageDirectory();
path=dir.getPath()+"/";
File dir= new File(path+ "123");
dir.mkdir();
}