我知道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;
}