我在该位置创建了一个图像。我可以看到图像已创建
String Dirlocation = "Pictures/MyDirectoryName";
String mImageName = System.currentTimeMillis()+".jpg";
createFile(mDirectoryPath,mImageName,fileData);
private String createFile(String mDirectoryPath, String mImageName, byte[] fileData) throws IOException {
FileOutputStream out=null;
try{
File root = Environment.getExternalStoragePublicDirectory(mDirectoryPath);
File dir = new File(root + File.separator);
if (!dir.exists()) dir.mkdir();
//Create file..
String mFinalUri = root + File.separator + mImageName;
File file = new File(mFinalUri);
file.createNewFile();
out = new FileOutputStream(file);
if(out!=null){
out.write(fileData);
MediaScannerConnection.scanFile(context, new String[] { file.getPath() }, new String[] { "image/jpg" }, null);
}
//Check if file exists if true return the URI
File mFile = new File(mFinalUri);
if(mFile.exists()){
return mFinalUri;
}else{
return null;
}
}catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}catch (Exception e) {
e.printStackTrace();
}finally {
out.close();
}
return mDirectoryPath;
}
如何删除该目录中的所有图像?
我尝试过:
String mDirectoryPath = "Pictures/MyDirectoryName";
File dir = new File(mDirectoryPath);
if (dir.isDirectory())
{
String[] children = dir.list();
for (int i = 0; i < children.length; i++)
{
new File(dir, children[i]).delete();
}
}
dir.isDirectory()
失败,并说它不是目录如何正确删除图像?
答案 0 :(得分:1)
在删除代码中,您应该使用
File dir = Environment.getExternalStoragePublicDirectory(mDirectoryPath)
不是
File dir = new File(mDirectoryPath);
。
在您的代码中,文件将指向“ / Pictures / MyDirectoryName”;哪个不存在(您的应用没有权限在根目录/上写)