【问题标题】:DownloadManager - Rename download if file already existsDownloadManager - 如果文件已存在,则重命名下载
【发布时间】:2012-08-20 05:39:12
【问题描述】:
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 下载该文件不同的名字?

【问题讨论】:

    标签: android file rename exists


    【解决方案1】:

    DownloadManager 默认在文件存在时重命名文件。它将在文件名的末尾附加一个-[NUMBER]

    所以hello.jpg 变成了hello-1.jpg

    也许看看this example。我用过,效果很好。

    【讨论】:

      猜你喜欢
      • 2014-07-20
      • 1970-01-01
      • 2020-09-17
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      • 2019-07-25
      • 2015-06-14
      相关资源
      最近更新 更多