为Environment.getExternalStorageDirectory()获得FileNotFoundException

时间:2018-10-12 14:01:53

标签: android

我知道Environment.getExternalStorageDirectory()上有很多帖子,用于查找用于保存文件的文件夹。使用它时,我会得到

/ storage / emulated / 0 / myfolder

作为文件夹路径,并在尝试用于保存文件时出现以下错误。

带有System.err:java.io.FileNotFoundException:/ storage / emulated / 0 / myfolder / myfile(无此类文件或目录)

如何解决此问题?我想使用内部存储器以与其他应用程序相同的方式存储图像和视频。

预先感谢您的帮助。

更新:根据要求,用于保存创建的图像的代码。

    public String saveTofolder(Bitmap bitmap, String filename) {

    String stored = null;
    File sdcard = Environment.getExternalStorageDirectory();
    File folder = new File(sdcard.getAbsoluteFile(), "myfolder");
    if (!folder.exists()) folder.mkdirs();
    File file = new File(folder.getAbsoluteFile(), filename);
    if (!file.exists()) {
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
        try {
            FileOutputStream fo = new FileOutputStream(file);
            fo.write(bytes.toByteArray());
            fo.flush();
            fo.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        stored = "success";
    }
    return stored;
}

0 个答案:

没有答案