如何为位图提供唯一的文件名

时间:2016-08-25 21:47:52

标签: android bitmap duplicates

我正在尝试确定特定目录中是否已存在图像。我正在制作的程序处理文件的保存,所以我可以根据需要命名它们,我需要测试这些文件中是否存在位图。

假设此文件夹中有100个压缩位图(以jpg格式)。我怎么能测试我试图保存的新位图是否已经存在?

我可以这样做,使100个位图中的每一个都具有与图像相关的唯一文件名(沿着哈希的行),然后在当前位图上执行相同的算法并执行简单的File.exists(使用唯一文件名)。

除了这个想法,我几乎感到难过,即便如此,我也不知道如何散列位图。

感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

使用File类?

File file = new File(path);

if(file.exists())      
    //Do something
else
    // Do something else.

编辑:

MessageDigest md = MessageDigest.getInstance("SHA-256");

md.update(/* PUT THE IMAGE CONTENTS HERE */);
byte[] digest = md.digest();

String uniqueName = Base64.encodeToString(digest, Base64.DEFAULT);

答案 1 :(得分:2)

日期时间(以毫秒为单位):

String time = "" + System.currentTimeMillis();

或:

Calendar c = Calendar.getInstance(); 
String mseconds = "" + c.get(Calendar.MILLISECOND);