从存储中删除未使用的文件

时间:2017-06-13 11:08:10

标签: android json android-sdcard

我将一些图片保存在我的存储空间的特定文件夹中。我的例子是1.png,2.png等。我知道如何获取所有文件的名称。这是来源

  private void getAllElemetsFromStorage() {
    String root_sd = Environment.getExternalStorageDirectory().toString();
    File file = new File(root_sd + "/myfolder");
    for (File f : file.listFiles()) {
        if (f.isFile()) {
            String name = f.getName();
            Log.e("file names", name + "");
        }}
}

此代码工作正常,但我有一个问题。我有一些json和我的json我有文件的名称。如何我可以得到所有文件名称女巫不在我的json,是我的目录和我如何可以删除所有这些文件吗?我的目标是只保存文件,女巫在我的jsons,我想从我的目录中删除所有未使用的文件 我怎么能解决我的问题? 感谢

1 个答案:

答案 0 :(得分:1)

在你的if语句中,获得文件名后,遍历json并检查它是否在那里。如果没有,删除它。

你已存在的for循环将对目录中的每个文件执行此操作,如果json中不存在该名称,则将其删除。

以下是一个例子。根据你的Json,你需要建立一个列表或循环通过另一种方式。

L.µ¸°5Sÿ|.iÞôS..\C>Ó\—©>Ó.Òg.¼·+ß»–å~.2W·ÿ¸¨x:_/..²Üo(è.XX<.¯”ˆNYîk•…ùJ¹¬£oXR¾ëè.,X°`Á‚...,X(O.㣿¨P.ñ~p{澯ª°y”…Š}6…쥒{jæiö³ëêÃaûþ*ýþž.š¼AÇG(’ÅNÔ™¾=...øí>üÒGÂ.sŽÃyÈ9.ï×Ç.QgÄ™€·Sâð.Þ¾…=}.¾TQO:à}úÂ.L7.˜Sp>.(.Ó.d¥ñ—ñyøÜ¡;í¦ðìÐ9Dç.:‡é.¡s%.«è</Åï.O¯H.ÀÛìç ´$”yÊ©ƒ9§QøCü.<I8.N.ð².¨8.\$àù8ü!æ°³Îy.(J8õtÞ.ï§Æ‰÷!.£ÛPN7ð󸱜z86á.²p¬‡4k!Õ&J±.RD!M.èMЬÝzâ.ÓÄ)M.§Âo.$ –.¸:㣤.î%5m@ï8]#5qM-ÅȤ™Ï‚—b¤...¿5.…._ÁÂùŠ»xßçvÚá™-—æ.ŠM<gS.ã.íGZÏ.:WÓ¹†Î.鼈Î7Ñy1.—Ðùf¾Æœ

注意:此代码未经测试,因此可能是拼写错误。但它应该给你这个想法。