您的位置:首页 > 编程语言

2.在代码全部正确的时候,却无法将文件存入SD卡的特囧事件

2014-01-07 12:45 197 查看
妈蛋啊,真的是很恶心啊!!!实习生写了个练手的程序,但是怎么也不能保存文件,我为了这个问题纠结了快10多天啊!!!!!!!!!!!!!!!!!!!!!!!

我必须要写出来吐槽一下!!!!!

SD卡是什么东西,你肯定知道的,对不对,我就不解释了~~~~

写了一个程序,很简单,就是创建一个文件,将一些内容存储到SK卡之中。

首先要申请权限

    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

       在存入手机之中和存入SD卡之中的写入方法是有区别的

    存入手机之中

public   void save(String filename, String content) throws Exception {
FileOutputStream outStream = context.openFileOutput(filename, context.MODE_PRIVATE);
outStream.write(content.getBytes());
outStream.close();
}


  存入SD卡之中

public void saveToSdCard(String filename, String content) throws Exception{
File file = new File(Environment.getExternalStorageDirectory(),filename);
String sdpath = Environment.getExternalStorageDirectory().toString();
Log.i("sdsdsdsd", sdpath);
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(content.getBytes());
outStream.close();
}


File file = new File(Environment.getExternalStorageDirectory(),filename);
中的Environment.getExternalStorageDirectory(),这个因为每个版本的安卓SD卡存储位置不同,所以不能直接写定,从而用这个方法。为了方便的找到写入的文件位置,所以用Log.i(,)输出了存储的位置。

      

      在调用这个方法的时候,要优先判断SD卡是否写保护了,以及是否存在

Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

一切都很正常对不对?没有发现什么错误对不对?但是为什呢在存储的时候就是存储不进去呢!?!?!?!?!?!我一直纠结了40多分钟!!!!!!

最后我发现,在创建AVD的时候没有创建SD卡区域。我日啊!!!!!!
















  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 存储 安卓
相关文章推荐