写入SD卡代码为:
private void write(String content){
// 如果有SD卡且手机有访问SD卡的权限
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
try {
// 获取SD卡的目录
File sdCardDir = Environment.getExternalStorageDirectory();
File targetFile = new File(sdCardDir.getCanonicalPath()+FILE_NAME);
// 指定文件方式创建RandomAccessFile对象,权限为读写
RandomAccessFile raf = new RandomAccessFile(targetFile,"rw");
// 文件指针移动到文件最后
raf.seek(targetFile.length());
// 将内容写入到文件中去
raf.write(content.getBytes());
// 关闭raf对象
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
读取SD卡代码为:
private String read(){
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
try {
// 获取SD卡目录
File sdCardDir = Environment.getExternalStorageDirectory();
FileInputStream fis = new FileInputStream(sdCardDir.getCanonicalPath()
+ FILE_NAME);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line = null;
StringBuilder sb = new StringBuilder("");
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
}
}
return "未读取到";
}
注:添加2个权限
<!--向SD卡写入的权限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <!--在SD卡中创建,删除文件的权限--> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>