0
public void onClick(DialogInterface dialog, int id) {

    Uri u = Uri.parse(url);
    File f = new File("" + u);

    DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
    request.setTitle("");
    request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, f.getName());

    // just my bullshit here please correct here                    
    if (f.exists()) {
        File sdcard = Environment.getExternalStorageDirectory();
        File from = new File(sdcard,f.getName());
        File to = new File(sdcard,"*"+f.getName());
        from.renameTo(to);
    }

    DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
    manager.enqueue(request);

                    }

この小さなコードをクリックすると、URL からファイルをダウンロードしますが、ファイルが既にダウンロードされていて同じ名前の場合、失敗するだけです。ファイルが既に存在するかどうかを確認し、DownloadManager にそのファイルを別の名前でダウンロードさせるにはどうすればよいですか?

4

1 に答える 1

1

DownloadManagerは、ファイルが存在する場合、デフォルトでファイルの名前を変更します。-[NUMBER]ファイル名の末尾にa が追加されます。

hello.jpgに変わりますhello-1.jpg

この例を見てください。私はそれを使用しましたが、動作します。

于 2013-02-13T12:38:47.857 に答える