Android:无法从模拟器中写入SD卡

时间:2011-11-04 06:04:56

标签: android

我正在使用windows vista和Eclipse进行开发。我写的很简单 代码下载文件并将其存储在我的SD卡上。但我得到了 异常(找不到文件异常)。 这是我的代码

 public void downloadNewapk() {
    try {
        URL url = new URL(apkURL.toString());
        HttpsURLConnection c = (HttpsURLConnection) url.openConnection();
        c.setRequestMethod("GET");
        c.setDoOutput(true);
        c.connect();

        String PATH = Environment.getExternalStorageDirectory()
                + "/download/";
        Log.v("log_tag", "PATH: " + PATH);
        File file = new File(PATH);
        if (!file.exists()) {
            file.mkdirs();
        }
        File outputFile = new File(file, fileName);
        FileOutputStream fos = new FileOutputStream(outputFile);

        InputStream is = c.getInputStream();

        byte[] buffer = new byte[1024];
        int len1 = 0;
        while ((len1 = is.read(buffer)) != -1) {
            fos.write(buffer, 0, len1);
        }
        fos.close();
        is.close();

    } catch (IOException e) {
        Log.d("log_tag", "Error: " + e);
    }
    Log.v("log_tag", "Check: ");
}

我在manifest.xml添加了用户权限 我检查SD卡状态 Environment.getExternalStorageState()它表示“已删除” 但是我在创建AVD时为我的SD卡添加了1GB的大小。 我是android新手,解决这个对我来说非常重要 请任何人都可以帮助我

1 个答案:

答案 0 :(得分:0)

检查您是否创建了具有写入权限的emactor sdcard。

参考:Android Emulator sdcard push error: Read-only file system

在这一步之后,我相信它也会以编程方式为你工作。