Java Android ファイル名で判別して、データを削除(実装版 function)2021

記事
IT・テクノロジー
**
 * log ディレクト が 存在している かつ 、ファイルがあって、ファイル名が TN- から始まっていたら、
 * 全削除する。
 */
private void File_Del() {

//************************** ファルダ 作成 **************************
    String path = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getPath() + "/log/";
    String r_path = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getPath();



//************************* フォルダ リネーム用 **********************
    //Calendarクラスのオブジェクトを生成する
    Calendar cl = Calendar.getInstance();
// SimpleDateFormatクラスを使用して、パターンを設定する
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd" + "_" + "HHmmss");
    csv_date_01 = sdf.format(cl.getTime());

    String re_name_path = getApplicationContext().getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getPath() +
            "/" + csv_date_01 + "_log/";

    File log_f = new File(path);
    File root = new File(r_path);

//*** リネーム用
    File re_nama_d = new File(re_name_path);

//listFilesメソッドを使用して一覧を取得する
    File[] list_File = root.listFiles();

    File[] list_File_log = log_f.listFiles();

// /log/ ファイルの中を取得
    File[] list_log = log_f.listFiles();

    System.out.println("ファイル & ディレクトリ数 if文前" + list_File.length);

//***** ディレクトリを取得
    String dirname = log_f.getParent() + "/log/";

    for(int i = 0; i < list_File.length; i++) {

        if (list_File[i].isFile()) {

            System.out.println("ファイル" + list_File[i]);
            System.out.println("ファイル名" + list_File[i].getName());

//*** ファイル名チェック TN-
            if (list_File[i].getName().contains("TN-")) {
                System.out.println("ファイルあり" + list_File[i].getName());

                file_flg = 0;
                 break;

            } else {

//*** 削除 フラグ on
                file_flg = 1;
                System.out.println("削除フラグ on" + String.valueOf(file_flg));

            }

        } else {
//*** 削除 フラグ on
            file_flg = 1;
            System.out.println("削除フラグ on" + String.valueOf(file_flg));
        }
    } // ************** end loop ***********

    System.out.println("if 文前 削除フラグ on" + String.valueOf(file_flg));

    if(log_f.exists() && file_flg == 1 && dirname.contains("log")) {

        System.out.println("ファイル & ディレクトリ数" + list_File.length);

//****** データ 全件 削除 ******
        DBAdapter dbAdapter = new DBAdapter(getApplicationContext());
        dbAdapter.openDB();

        dbAdapter.allDelete(); // 全件 削除 クラスメソッド

        dbAdapter.closeDB(); //------- DB を閉じる

        System.out.println("ファイルなし 全削除");

//*************** /log/ フォルダを リネーム *****************
        if (log_f.renameTo(re_nama_d)) {
            //正常に名前が変更された場合
            System.out.println("名前変更成功" + re_nama_d.getName());
        }

    } else {

        System.out.println("ファイル & ディレクトリ数 return" + list_File.length);

        return;

    } //************ END if


} //*********** END function
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す