当前位置: 代码迷 >> java >> 删除以“。”开头的文件夹
  详细解决方案

删除以“。”开头的文件夹

热度:75   发布时间:2023-07-16 17:44:17.0

我可以使用下面的代码删除特定目录的内容,但是我只想删除名称以“。”开头的文件夹/文件。 代替。 例如:.aptoide,.adobe,.dcim

package com.example.deleter;
import java.io.File;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        File dir = new File(Environment.getExternalStorageDirectory()+"/CHO/D2");
        if (dir.isDirectory()) {
                String[] children = dir.list();
                for (int i = 0; i < children.length; i++) {
                    new File(dir, children[i]).delete();
                }
            }
    }
}

您可以仅通过Environment.getExternalStorageDirectory()获取外部存储的根目录。 您可以检查文件名是否以开头. 与 :

File dir = Environment.getExternalStorageDirectory();
if (dir.isDirectory()) {
    String[] children = dir.list();
    for (int i = 0; i < children.length; i++) {
        if (children[i].startsWith(".")) {
            new File(dir, children[i]).delete();
        }
    }
}

或等效地,与 :

if (children[i].charAt(0) == '.') {

您是否尝试过以下方法:

File dir = new File(Environment.getExternalStorageDirectory()+"/CHO/D2");
if (dir.isDirectory()) {
   String[] children = dir.list();
   for (int i = 0; i < children.length; i++) {
       String name = children[i];
       if (name.startsWith(".") {
           new File(dir, children[i]).delete();
       }
   }
}
  相关解决方案