本文实例讲述了Android编程实现向SD卡写入数据的方法。分享给大家供大家参考,具体如下:
1.代码:
/** * 向sdcard中写入文件 * @param filename 文件名 * @param content 文件内容 */ public void saveToSDCard(String filename,String content) throws Exception{ File file=new File("/mnt/sdcard", filename); OutputStream out=new FileOutputStream(file); out.write(content.getBytes()); out.close(); }
sdcard对应的文件路径:"/mnt/sdcard",开发时不要写SDCard的绝对路径,因为路径会因为版本的改变而改变,这里应该使用以下方法获得SDCard的路径
对应上一段代码修改如下代码如下:
/** * 向sdcard中写入文件 * @param filename 文件名 * @param content 文件内容 */ public void saveToSDCard(String filename,String content) throws Exception{ File file=new File(Environment.getExternalStorageDirectory(), filename); OutputStream out=new FileOutputStream(file); out.write(content.getBytes()); out.close(); }
2.获得权限:
<> <uses-permission <a href="http://lib.csdn.net/base/15" title="undefined" target="_blank">android</a>:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3.判断SDCard状态(SDCard可能为写保护,或者没有插入SDCard)
//向SDCard中保存 String en=Environment.getExternalStorageState(); //获取SDCard状态,如果SDCard插入了手机且为非写保护状态 if(en.equals(Environment.MEDIA_MOUNTED)){ try { service.saveToSDCard(filename, content); Toast.makeText(getApplicationContext(), "保存成功", 1).show(); } catch (Exception e) { Toast.makeText(getApplicationContext(), "保存失败", 1).show(); } }else{ //提示用户SDCard不存在或者为写保护状态 Toast.makeText(getApplicationContext(), "SDCard不存在或者为写保护状态", 1).show(); }
希望本文所述对大家Android程序设计有所帮助。