图像文件未写入SD卡

时间:2011-11-21 13:44:15

标签: android

我正在尝试将图像文件写入我的SD卡上的目录,但它似乎无法正常工作。当我将图像读入bytearray时,它不会将内容写入SD卡。代码如下:

public void addRecord(){

        long id;

        out =  new ByteArrayOutputStream(128);
        bm.compress(CompressFormat.JPEG, 100, out);

          File sdCard = Environment.getExternalStorageDirectory();
          File dir = new File(sdCard + File.separator + "studentpics");

          if(!dir.exists()){

          dir.mkdir();  

            }

          File f = new File(sdCard + File.separator + dir.toString() + File.separator +  strStudentName + ".png");

          try {
            f.createNewFile();
            FileOutputStream fos = new FileOutputStream(f);
            fos.write(out.toByteArray());

            fos.close();



        } catch (IOException e) {

            e.printStackTrace();
        }
    }

2 个答案:

答案 0 :(得分:0)

您可能需要请求写入外部存储的权限。尝试将此行添加到AndroidManifest.xml

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

答案 1 :(得分:0)

尝试替换

File f = new File(sdCard + File.separator + dir.toString() + File.separator +  strStudentName + ".png");

使用

File f = new File( dir.toString() + File.separator +  strStudentName + ".png");