Android 将URL转换为文件名的简单方法

Android 将URL转换为文件名的简单方法,android,file-io,Android,File Io,我正在为Android编写一个异步图像下载程序,我只是想知道,给定一个任意URL,例如: 将唯一url转换为文件名的最佳方式是什么。我想简单地拆分url并获取最后一部分,但我希望文件名能够代表整个url。我认为其他的选择是用下划线替换所有的斜杠,或者简单地散列整个URL并存储它 如果有人有什么想法,我很想听听 谢谢你,通常使用MD5散列。但我建议使用“aquery”库。在库中,您只需下载图像并将其放到视图中即可。它还支持简单的磁盘缓存、内存缓存。此方法将满足您的要求。它将生成一个代表原始URL

我正在为Android编写一个异步图像下载程序,我只是想知道,给定一个任意URL,例如:

将唯一url转换为文件名的最佳方式是什么。我想简单地拆分url并获取最后一部分,但我希望文件名能够代表整个url。我认为其他的选择是用下划线替换所有的斜杠,或者简单地散列整个URL并存储它

如果有人有什么想法,我很想听听


谢谢你,通常使用MD5散列。但我建议使用“aquery”库。在库中,您只需下载图像并将其放到视图中即可。它还支持简单的磁盘缓存、内存缓存。

此方法将满足您的要求。它将生成一个代表原始URL的名称。您可以像这样调用
generateNameFromUrl(字符串url)
方法

    String url = "http://www.android.com/images/brand/droid.gif";
    String uniqueName = generateNameFromUrl(url));
方法如下:

public static String generateNameFromUrl(String url){

    // Replace useless chareacters with UNDERSCORE
    String uniqueName = url.replace("://", "_").replace(".", "_").replace("/", "_");
    // Replace last UNDERSCORE with a DOT
    uniqueName = uniqueName.substring(0,uniqueName.lastIndexOf('_'))
            +"."+uniqueName.substring(uniqueName.lastIndexOf('_')+1,uniqueName.length());
    return uniqueName;
}
输入:“http://www.android.com/images/brand/droid.gif“

输出:“http\u www\u android\u com\u images\u brand\u droid.gif”

最终在aquery中找到了一些方法来实现我想要的,谢谢!