我试图创建一个文件来保存相机中的图片,结果发现我无法创建该文件。
但我实在找不到错误所在。你能看一下并给我一些建议吗?
private File createImageFile(){
File imageFile=null;
String stamp=new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File dir= Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
String imageFileName="JPEG_"+stamp+"_";
try {
imageFile=File.createTempFile(imageFileName,".jpg",dir);
} catch (IOException e) {
Log.d("YJW",e.getMessage());
}
return imageFile;
}
并且我已经添加了权限。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
该方法总是报这样的错误:
打开失败:ENOENT(没有这样的文件或目录)
图片目录可能尚不存在。不保证它会在那里。
In API 文档getExternalStoragePublicDirectory(),代码确保目录存在使用mkdirs
:
File path = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES);
File file = new File(path, "DemoPicture.jpg");
try {
// Make sure the Pictures directory exists.
path.mkdirs();
...所以这可能就像添加一样简单path.mkdirs()
到您之前的现有代码createTempFile
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)