【问题标题】:file.delete() in Android leaves a small unreadable fileAndroid 中的 file.delete() 会留下一个不可读的小文件
【发布时间】:2017-06-04 22:11:53
【问题描述】:

我正在尝试从我的图库中删除一张图片。我正在使用从这里获得的代码:
android : deleting an image

它似乎对某些人有用,但不幸的是不适合我。如果我运行它,就会留下一个小的、不可读的文件。我使用的是 Android 4.1.2。

代码如下:

public void deleteImage(File fdelete) {
    //String file_dj_path = Environment.getExternalStorageDirectory() + "/ECP_Screenshots/abc.jpg";
    //File fdelete = new File(file_dj_path);
    if (fdelete.exists()) {
        if (fdelete.delete()) {
            Log.e("-->", "file Deleted :" + fdelete);
            callBroadCast();
        } else {
            Log.e("-->", "file not Deleted :" + fdelete);
        }
    }
}

public void callBroadCast() {
    if (Build.VERSION.SDK_INT >= 14) {
        Log.e("-->", " >= 14");
        MediaScannerConnection.scanFile(this, new String[]{Environment.getExternalStorageDirectory().toString()}, null, new MediaScannerConnection.OnScanCompletedListener() {
            /*
             *   (non-Javadoc)
             * @see android.media.MediaScannerConnection.OnScanCompletedListener#onScanCompleted(java.lang.String, android.net.Uri)
             */
            public void onScanCompleted(String path, Uri uri) {
                Log.e("ExternalStorage", "Scanned " + path + ":");
                Log.e("ExternalStorage", "-> uri=" + uri);
            }
        });
    } else {
        Log.e("-->", " < 14");
        sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
                Uri.parse("file://" + Environment.getExternalStorageDirectory())));
    }
}

【问题讨论】:

  • 您尝试过这个特定的答案吗? stackoverflow.com/a/36296974/320111
  • 它确实有效,thanx mate,但问题是它只有效了 3 次,很奇怪,之后我必须重新启动应用程序。

标签: java android image file


【解决方案1】:

如果通过

无法读取的小文件

你的意思是零,你可以这样做:

long fileSize = fdelete.length();
if (fdelete.exists() || fileSize==0){
    fdelete.delete();
}

那就做吧

    if (fdelete.delete()) {
        Log.e("-->", "file Deleted :" + fdelete);
        callBroadCast();
    } else {
        Log.e("-->", "file not Deleted :" + fdelete);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2023-03-22
    • 2018-02-17
    • 1970-01-01
    • 2011-06-24
    相关资源
    最近更新 更多