Android对sdcard扩展卡文件的操作其实就是普通的文件操作,但是仍然有些地方需要注意。比如:
1.加入sdcard操作权限;
2.确认sdcard的存在;
3.不能直接在非sdcard的根目录创建文件,而是需要先创建目录,再创建文件;
实例如下:
(1)在AndroidManifest.xml添加sdcard操作权限
1
2
|
<!-- sdcard权限 --> <uses-permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission> |
(2)变量声明:
1
2
|
private final static String PATH = "/sdcard/digu" ; private final static String FILENAME = "/notes.txt" ; |
(3)向sdcard写文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
/** * 写文件 */ private void onWrite() { try { Log.d(LOG_TAG, "Start Write" ); //1.判断是否存在sdcard if (Environment.MEDIA_MOUNTED.equals(Environment .getExternalStorageState())) { //目录 File path = new File(PATH); //文件 File f = new File(PATH + FILENAME); if (!path.exists()){ //2.创建目录,可以在应用启动的时候创建 path.mkdirs(); } if (!f.exists()) { //3.创建文件 f.createNewFile(); } OutputStreamWriter osw = new OutputStreamWriter( new FileOutputStream(f)); //4.写文件,从EditView获得文本值 osw.write(editor.getText().toString()); osw.close(); } } catch (Exception e) { Log.d(LOG_TAG, "file create error" ); } } |