2016-08-24 16 views
0

私は、コードが実行されているファイルを削除し、私にも削除されたファイルのトーストを示すが、SDカードからそれをを削除しませています。 コードは以下の通りです:エラーSDカードからファイルを削除中

delete_btn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v){ 
      fn = baseAppDir.getPath()+ File.separator + folderName + File.separator 
        + folderName + "_" + Integer.toString(imgNo) + ".jpg"; 
      FileName = folderName + "_" + Integer.toString(imgNo) 
        + ".jpg"; 


      if (FileName!=null) 
      { 
        deleteFile(FileName); 
       Toast.makeText(ImageCaptureActivity.this, "Deleted", 
         Toast.LENGTH_LONG).show(); 
       image1.setVisibility(View.GONE); 


       } else { 
       Toast.makeText(ImageCaptureActivity.this, "Not Deleted", 
         Toast.LENGTH_LONG).show(); 
       } 



     }}); 
+0

あなたのトーストは 'FileName!= null'のために表示されます。他の理由はありません。トーストを表示する前に、 'deleteFile()'の戻り値をチェックする必要があります。 – greenapps

+0

''削除されていません ''。これは 'FileName == null'でなければなりません。 – greenapps

+0

エラーコードを教えてくれないとどうなるのでしょうか? –

答えて

0

を見てください

if (FileName!=null) { 
    deleteFile(FileName); 
    Toast.makeText(ImageCaptureActivity.this, "Deleted", 
        Toast.LENGTH_LONG).show(); 
    image1.setVisibility(View.GONE); 
} else { 
    Toast.makeText(ImageCaptureActivity.this, "Not Deleted", 
        Toast.LENGTH_LONG).show(); 
} 

と交換してください:Delete a file

あなたとして以下のように行うことができます。

try { 
     deleteFile(FileName); 
     Toast.makeText(ImageCaptureActivity.this, "Deleted", Toast.LENGTH_LONG).show(); 
     image1.setVisibility(View.GONE); 
    } catch (NoSuchFileException x) { 
     System.err.format("%s: no such" + " file or directory%n", path); 
    } catch (DirectoryNotEmptyException x) { 
     System.err.format("%s not empty%n", path); 
    } catch (IOException x) { 
     // File permission problems are caught here. 
     System.err.println(x); 
    } 
-1

がこのSDカードから削除複数の画像のためのコードである

File dir = new File(Environment.getExternalStorageDirectory() + "/DCIM/Camera"); 
    Log.e(TAG, " get path ..**... " + dir.getPath()); 
    Log.e(TAG, " get Directory ..**... " + dir.isDirectory()); 
    Log.e(TAG, " get Name ..**... " + dir.getName()); 
    Log.e(TAG, " get strign ..**... " + dir.list()); 
    if (dir.isDirectory()) { 
     String[] children = dir.list(); 
     Log.e(TAG, " children .... ... " + children.length); 
     for (int i = 0; i < children.length; i++) { 
      Log.e(TAG, "Delete old Image ..."); 
      new File(dir, children[i]).delete(); 
     } 
    } 

...これは完全な、あまりにもその助けとなるかもしれ試してみてください。

-1

以下に

File file = new File(FileName); 
if (file.delete()){ 
     Toast.makeText(ImageCaptureActivity.this, "Deleted", 
         Toast.LENGTH_LONG).show(); 
     image1.setVisibility(View.GONE); 
} else { 
     Toast.makeText(ImageCaptureActivity.this, "Not Deleted", 
         Toast.LENGTH_LONG).show(); 

}

関連する問題