Android sdcard文件读写操作
程序员文章站
2022-05-16 21:00:29
...
这次演示以,安卓原生操作系统 Nexus_6手机进行操作:
AndroidManifest.xml配置相关权限:
<!-- 增加权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />
关于 /mnt/sdcard/ 与 Environment.getExternalStorageDirectory()获取路径的差异:
Environment.getExternalStorageDirectory() 在Android手机上获取的路径是:/storage/sdcard/ 或者是 /storage/emulated/0/ 等等;
其实在Linux文件系统中 /mnt/sdcard/ 去关联了 /storage/sdcard/ 或者是 /storage/emulated/0/ 等等;
请看图:
请看图,这个两个路径不同,访问的地址目录确是一模一样的:
// 在SD卡目录下创建文件
File file = new File(Environment.getExternalStorageDirectory(), "mysdcard.txt");
Log.d(TAG, "file.exists():" + file.exists() + " file.getAbsolutePath():"+ file.getAbsolutePath());
if (file.exists()) {
file.delete();
file.createNewFile();
}
// Toast.makeText(MainActivity.this, "SD卡目录下创建文件成功...", Toast.LENGTH_LONG).show();
Log.d(TAG, "SD卡目录下创建文件成功...");
// 在SD卡目录下的文件,写入内容
FileWriter fw = new FileWriter(file);
fw.write("我的sdcard内容.....");
fw.close();
// Toast.makeText(MainActivity.this, "SD卡写入内容完成...",Toast.LENGTH_LONG).show();
Log.d(TAG, "SD卡写入内容完成...");
// 读取SD卡文件里面的内容
FileReader fr = new FileReader("/mnt/sdcard/mysdcard.txt");
BufferedReader r = new BufferedReader(fr);
String result = r.readLine();
Log.d(TAG, "SD卡文件里面的内容:" + result);
执行结果:
谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问,
刘德利CSDN博客, http://blog.csdn.net/u011967006