কীভাবে একটি পুরো ফোল্ডার এবং সামগ্রী মুছবেন?


185

আমি চাই আমার অ্যাপ্লিকেশনটির ব্যবহারকারীরা ডিসিআইএম ফোল্ডারটি মুছে ফেলতে সক্ষম করুন (যা এসডি কার্ডে অবস্থিত এবং সাবফোল্ডার রয়েছে)।

এটা কি সম্ভব, যদি হয় কিভাবে?


1
পুনরাবৃত্ত নীচে আপ মুছে ফেলা পদ্ধতির ছাড়া অন্য?
সরোয়ার এরফান

আপনার যদি খুব বড় বা জটিল ডিরেক্টরি থাকে তবে আপনার rm -rf directoryপরিবর্তে ব্যবহার করা উচিত FileUtils.deleteDirectory। বেঞ্চমার্কিংয়ের পরে আমরা দেখতে পেয়েছি এটি একাধিক গতিযুক্ত। একটি নমুনা বাস্তবায়ন এখানে দেখুন: stackoverflow.com/a/58421350/293280
জোশুয়া পিন্টার

উত্তর:


299

আমাকে প্রথমে আপনাকে বলি আপনি ডিসিআইএম ফোল্ডারটি মুছতে পারবেন না কারণ এটি একটি সিস্টেম ফোল্ডার। আপনি ফোনে ম্যানুয়ালি মুছে ফেলার সাথে সাথে এটি ফোল্ডারের সামগ্রী মুছে ফেলবে, তবে ডিসিআইএম ফোল্ডারটি নয়। আপনি নীচের পদ্ধতিটি ব্যবহার করে এর সামগ্রীগুলি মুছতে পারেন:

মন্তব্য অনুযায়ী আপডেট করা হয়েছে

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

3
আমি কীভাবে ঘোষণা করব দির কী?
শিক্ষানবিস

তোমার দর্শন লগ করা মূলত তাই স্বল্পতা ব্যাপার DCIM দীর্ঘ ফটো নেই করুন ... তাই, এমনকি 100MEDIA মধ্যেই ফোল্ডারের মোছার কাজ করবে মোছা হয় সমস্ত ফটো মোছার চেষ্টা
শিক্ষানবিস

1
আপনাকে ডিকম ফোল্ডারের পাথ ব্যবহার করে ডিরেক্টরি ঘোষণা করতে হবে: ফাইল r = ফাইল (পথ) ব্যবহার করুন;
চিক্কা.আনদেব

3
ব্যবহৃত ফাইল দির = নতুন ফাইল (পরিবেশের।
শিক্ষানবিস

1
@ চিরাগশাহ একটি ফোল্ডার মুছে ফেলার পরে এবং ফোল্ডারটি পুনরায় তৈরি করার পরে উল্লিখিত ফোল্ডারের একই নামযুক্ত একটি অজানা ফাইল তৈরি করার ফলাফল তৈরি হয়েছে। এবং যদি আমি সেই ফাইলটি অ্যাক্সেস করতে চেষ্টা করি তবে এটি রিসোর্স বা ডিভাইস ব্যস্ততার মতো ব্যতিক্রম ছুঁড়ে মারছে I আমিও এর বৈশিষ্ট্যগুলি যাচাই করেছি ফাইল যেখানে আমি MD5 স্বাক্ষর
শে

529

আপনি পুনরাবৃত্তভাবে ফাইল এবং ফোল্ডারগুলি মুছতে পারেন এটি:

void deleteRecursive(File fileOrDirectory) {
    if (fileOrDirectory.isDirectory())
        for (File child : fileOrDirectory.listFiles())
            deleteRecursive(child);

    fileOrDirectory.delete();
}

21
দক্ষতার জন্য আমি কোনও পরীক্ষা করিনি, তবে আমি বিশ্বাস করি আমার চেয়ে বেশি শক্তিশালী। চিরাগগুলি ডিসিআইএম ফোল্ডারের নির্দিষ্ট ক্ষেত্রে কাজ করবে যেখানে ডিসিআইএম এর মধ্যে ফোল্ডারে কেবল ফাইল থাকতে হবে (অর্থাত্ ডিসিআইএম-র মধ্যে ফোল্ডারগুলিতে সাধারণত কোনও সাবফোল্ডার থাকে না)। আমার সংস্করণ যে ফোল্ডারগুলিকে যে কোনও গভীরতায় নেস্ট করে তা মুছে ফেলবে। এমন একটি সুযোগ রয়েছে যে ব্যবহারকারী তার এসডি কার্ডের বিষয়বস্তুটি পরিবর্তন করেছেন যাতে DCIM ফোল্ডারগুলি আরও গভীরভাবে বাসা বেঁধে রাখে (উদাঃ DCIM\foo\bar\pic.jpg), সেক্ষেত্রে চিরাগের কোডটি ব্যর্থ হবে।
তিদেয়

2
একজন সহকর্মী আমাকে একটি প্রশ্ন জিজ্ঞাসা করলেন: যদি কোনও ফোল্ডারে নিজের মধ্যে একটি প্রতীকী লিঙ্ক থাকে এবং আপনি কোডটির এই অংশটি কার্যকর করেন তবে কি হবে?
p4u144

1
@ p4u144 প্রতিভা হওয়ার জন্য আপনার সহকর্মীকে একটি উচ্চ-পাঁচটি দিন! ভাল বিক্ষোভ! সত্য কথা বলতে কি আমি জানি না যে এই কোডটি প্রতীকী লিঙ্কগুলিকে সম্মান করবে এবং অনুসরণ করবে, কিন্তু এটি যদি না করে তবে আপনার একটি অসীম লুপ থাকবে। আপনি কি এটি পরীক্ষা করার অভিনব?
teedyay

8
@ p4u144 প্রতীকী লিঙ্কগুলি নিয়ে কোনও উদ্বেগ নেই। "প্রতীকী লিঙ্কগুলির সাথে, লিঙ্কটি মুছে ফেলা হয়েছে এবং লিঙ্কটির লক্ষ্য নয়" " docs.oracle.com/javase/tutorial/essential/io/delete.html
কর্বিন

3
এখানে একটি সম্ভাব্য এনপিই রয়েছে: ফাইলগুলি পড়ার সময় I / O ত্রুটি থাকলে fileOrDirectory.listFiles()ফিরে আসতে পারে null। ডকুমেন্টেশনে এটি স্পষ্টভাবে বলা হয়েছে: developer.android.com/references/java/io/File.html#listFiles ()
ব্রায়ান ইয়েনচো 6'18

67

একটি সম্পূর্ণ ফোল্ডার এবং এর সামগ্রীগুলি মুছতে আমরা কমান্ড লাইন আর্গুমেন্টগুলি ব্যবহার করতে পারি।

public static void deleteFiles(String path) {

    File file = new File(path);

    if (file.exists()) {
        String deleteCmd = "rm -r " + path;
        Runtime runtime = Runtime.getRuntime();
        try {
            runtime.exec(deleteCmd);
        } catch (IOException e) { }
    }
}

উপরের কোড ব্যবহারের উদাহরণ:

deleteFiles("/sdcard/uploads/");

2
ভাল লাগছে, আপনি কি জানেন এটি সিঙ্ক্রোনাস বা অ্যাসিনক্রোনাস হয় কিনা? ডকুমেন্টেশনটি বলে না: developer.android.com/references/java/lang/…
কেউ কোথাও

2
খারাপ ধারণা। খোল কেন এটি?
noamtm

1
@ সোমোনসোহোমেসার এ্যাসিঙ্ক
জাভ্যাস

32

কোটলিনে আপনি প্যাকেজ deleteRecursively()থেকে এক্সটেনশন ব্যবহার করতে পারেনkotlin.io

val someDir = File("/path/to/dir")
someDir.deleteRecursively()

2
জাভাতে আপনি ব্যবহার করতে পারেন FilesKt.deleteRecursively(new File("/path/to/dir"));যদি আপনি কোটলিন-স্ট্ডলিব ব্যবহার করেন
জোওনসো

এই কমান্ডটি "/ dir" ডিরেক্টরিটি ভিতরে থাকা সামগ্রী বা "/ dir" ডিরেক্টরিতে থাকা ডিরেক্টরিটি মুছে ফেলবে এবং ডিরেক্টরিটি সেখানে থাকবে? "
ভিমবিম

1
আপনার জন্য @ ভিমিম লিমে গুগল ডক্স "এই ফাইলটি সমস্ত শিশুদের সাথে মুছে ফেলুন"। সুতরাং, ডিরেক্টরি পাশাপাশি সামগ্রীগুলি মুছে ফেলা হবে
Dima Rostopira

আপনাকে @ ডিমা রোস্টোপিরা ধন্যবাদ!
ভিমবিম

কোটলিনের উদ্ধার!
টবি ওয়েলেকান

15

সমস্ত প্রধান ডিরেক্টরি যা ফাইল এবং এটির উপ ডিরেক্টরি রয়েছে তা মুছতে নীচের পদ্ধতিটি ব্যবহার করুন। এই পদ্ধতিটি কল করার পরে আবার আপনার মূল ডিরেক্টরিতে মুছে ফেলা () ডিরেক্টরিতে কল করুন।

// For to Delete the directory inside list of files and inner Directory
public static boolean deleteDir(File dir) {
    if (dir.isDirectory()) {
        String[] children = dir.list();
        for (int i=0; i<children.length; i++) {
            boolean success = deleteDir(new File(dir, children[i]));
            if (!success) {
                return false;
            }
        }
    }

    // The directory is now empty so delete it
    return dir.delete();
}

সমস্ত উত্তরগুলির মধ্যে, এটি কেবলমাত্র আসল উত্তর যা এতে ডিরেক্টরিগুলি ফাইল মুছে ফেলার পরে ডিরেক্টরিটিও মুছে দেয়।
জিশান

ফাইল ফাইল = নতুন ফাইল (এনভায়রনমেন্ট.জেটএক্সটার্নাল স্টোরেজ ডিরেক্টরী () + বিভাজক + "ফোল্ডার_নাম" + বিভাজক); ডিলিটডির (ফাইল); হ্যাঁ এটি কাজ করে। ধন্যবাদ :)
ashishdhiman2007

14

আপনার পদ্ধতির কোনও ফোল্ডারের জন্য কেবলমাত্র ফাইল রয়েছে, তবে এটি যদি আপনি এমন একটি দৃশ্যের সন্ধান করেন যা সাবফোল্ডারগুলিতেও থাকে তবে পুনরাবৃত্তি প্রয়োজন

এছাড়াও আপনাকে ফাইলটি মুছে ফেলার অনুমতি দেওয়া হয়েছে তা নিশ্চিত করার জন্য আপনার ফিরতি ফেরতের মান ক্যাপচার করা উচিত should

এবং অন্তর্ভুক্ত

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

আপনার ম্যানিফেস্টে

void DeleteRecursive(File dir)
{
    Log.d("DeleteRecursive", "DELETEPREVIOUS TOP" + dir.getPath());
    if (dir.isDirectory())
    {
        String[] children = dir.list();
        for (int i = 0; i < children.length; i++)
        {
            File temp = new File(dir, children[i]);
            if (temp.isDirectory())
            {
                Log.d("DeleteRecursive", "Recursive Call" + temp.getPath());
                DeleteRecursive(temp);
            }
            else
            {
                Log.d("DeleteRecursive", "Delete File" + temp.getPath());
                boolean b = temp.delete();
                if (b == false)
                {
                    Log.d("DeleteRecursive", "DELETE FAIL");
                }
            }
        }

    }
    dir.delete();
}

5
আপনি যদি (ফাইল কারেন্ট ফাইল: ফাইল.লিস্টফাইলেস ()) for
থোরবেন

8

অনেক উত্তর আছে, তবে আমি নিজের যুক্ত করার সিদ্ধান্ত নিয়েছি, কারণ এটি কিছুটা আলাদা। এটি ওওপি ভিত্তিক;)

আমি ক্লাস ডিরেক্টরীক্লিয়েনার তৈরি করেছিলাম , যখন আমাকে যখন কোনও ডিরেক্টরি পরিষ্কার করার দরকার হয় তখন প্রতিটি সময় আমাকে সহায়তা করে।

public class DirectoryCleaner {
    private final File mFile;

    public DirectoryCleaner(File file) {
        mFile = file;
    }

    public void clean() {
        if (null == mFile || !mFile.exists() || !mFile.isDirectory()) return;
        for (File file : mFile.listFiles()) {
            delete(file);
        }
    }

    private void delete(File file) {
        if (file.isDirectory()) {
            for (File child : file.listFiles()) {
                delete(child);
            }
        }
        file.delete();

    }
}

এটি পরবর্তী উপায়ে এই সমস্যাটি সমাধান করতে ব্যবহার করা যেতে পারে:

File dir = new File(Environment.getExternalStorageDirectory(), "your_directory_name");
new DirectoryCleaner(dir).clean();
dir.delete();

7

আপনার যদি জিনিসগুলি পুনরাবৃত্তভাবে মোছার প্রয়োজন না হয় তবে আপনি এই জাতীয় কিছু চেষ্টা করতে পারেন:

File file = new File(context.getExternalFilesDir(null), "");
    if (file != null && file.isDirectory()) {
        File[] files = file.listFiles();
        if(files != null) {
            for(File f : files) {   
                f.delete();
            }
        }
    }

6

জাভাতে উপ-ডিরেক্টরি বা ফাইল থাকলে আপনি ডিরেক্টরিটি মুছতে পারবেন না। এই দুই লাইন সহজ সমাধান চেষ্টা করুন। এটি ডিরেক্টরিতে থাকা ডিরেক্টরি এবং প্রতিযোগিতা মুছে ফেলবে।

File dirName = new File("directory path");
FileUtils.deleteDirectory(dirName);

গ্রেড ফাইলটিতে এই লাইনটি যুক্ত করুন এবং প্রকল্পটি সিঙ্ক করুন

compile 'org.apache.commons:commons-io:1.3.2'  

2 লাইনার হিসাবে এটি সহজ। তবে এর একটি মাত্র পদ্ধতির ব্যবহার করতে একটি সম্পূর্ণ লাইব্রেরি ইনস্টল করা অদক্ষ মনে হয়। ব্যবহার করুন এই পরিবর্তে
কাসীর

গ্রেডল sertোকানো টিপ আমার জীবন বাঁচায়।
Dracarys

5
public static void deleteDirectory( File dir )
{

    if ( dir.isDirectory() )
    {
        String [] children = dir.list();
        for ( int i = 0 ; i < children.length ; i ++ )
        {
         File child =    new File( dir , children[i] );
         if(child.isDirectory()){
             deleteDirectory( child );
             child.delete();
         }else{
             child.delete();

         }
        }
        dir.delete();
    }
}

5

android.os.FileUtils দেখুন, এটি 21 এআইডি-তে লুকিয়ে রয়েছে

public static boolean deleteContents(File dir) {
    File[] files = dir.listFiles();
    boolean success = true;
    if (files != null) {
        for (File file : files) {
            if (file.isDirectory()) {
                success &= deleteContents(file);
            }
            if (!file.delete()) {
                Log.w("Failed to delete " + file);
                success = false;
            }
        }
    }
    return success;
}

সূত্র: https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/os/FileUtils.java#414


4

ডকুমেন্টেশন অনুযায়ী :

যদি এই বিমূর্ত পথের নামটি কোনও ডিরেক্টরিকে বোঝায় না, তবে এই পদ্ধতিটি বাতিল হয়ে যায়।

সুতরাং আপনার উচিত কিনা listFilesতা যাচাই করা উচিত nullএবং যদি তা না হয় তবে কেবল চালিয়ে যান

boolean deleteDirectory(File path) {
    if(path.exists()) {
        File[] files = path.listFiles();
        if (files == null) {
            return false;
        }
        for (File file : files) {
            if (file.isDirectory()) {
                deleteDirectory(file);
            } else {
                boolean wasSuccessful = file.delete();
                if (wasSuccessful) {
                    Log.i("Deleted ", "successfully");
                }
            }
        }
    }
    return(path.delete());
}

1
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। একটি যাদুমন্ত্র মত কাজ করে!
এমএসইজ 5

3

এটি আমিই করি ... (সংশ্লেষ এবং পরীক্ষিত)

    ...
    deleteDir(new File(dir_to_be_deleted));
    ...

    // delete directory and contents
    void deleteDir(File file) { 
        if (file.isDirectory())
            for (String child : file.list())
                deleteDir(new File(file, child));
        file.delete();  // delete child file or empty directory
    }

3
private static void deleteRecursive(File dir)
{
    //Log.d("DeleteRecursive", "DELETEPREVIOUS TOP" + dir.getPath());
    if (dir.isDirectory())
    {
        String[] children = dir.list();
        for (int i = 0; i < children.length; i++)
        {
            File temp = new File(dir, children[i]);
            deleteRecursive(temp);
        }

    }

    if (dir.delete() == false)
    {
        Log.d("DeleteRecursive", "DELETE FAIL");
    }
}

2

ডিরেক্টরি থেকে সমস্ত ফাইল মোছার সহজ উপায়:

কেবল কল করে ডিরেক্টরি থেকে সমস্ত চিত্র মোছার জন্য এটি জেনেরিক ফাংশন

deleteAllImageFile (প্রসঙ্গ);

public static void deleteAllFile(Context context) {
File directory = context.getExternalFilesDir(null);
        if (directory.isDirectory()) {
            for (String fileName: file.list()) {
                new File(file,fileName).delete();
            }
        }    
    } 

2

আমি জানি সবচেয়ে নিরাপদ কোড:

private boolean recursiveRemove(File file) {
    if(file == null  || !file.exists()) {
        return false;
    }

    if(file.isDirectory()) {
        File[] list = file.listFiles();

        if(list != null) {

            for(File item : list) {
                recursiveRemove(item);
            }

        }
    }

    if(file.exists()) {
        file.delete();
    }

    return !file.exists();
}

ফাইলটি পরীক্ষা করে, নাল পরিচালনা করে, ডিরেক্টরিটি আসলে মুছে ফেলা হয়েছিল তা পরীক্ষা করে


1

এখানে কেবল মজাদার জন্য পুনরাবৃত্তিযোগ্য বাস্তবায়ন নেই:

/**
 * Deletes the given folder and all its files / subfolders.
 * Is not implemented in a recursive way. The "Recursively" in the name stems from the filesystem command
 * @param root The folder to delete recursively
 */
public static void deleteRecursively(final File root) {
    LinkedList<File> deletionQueue = new LinkedList<>();
    deletionQueue.add(root);

    while(!deletionQueue.isEmpty()) {
        final File toDelete = deletionQueue.removeFirst();
        final File[] children = toDelete.listFiles();
        if(children == null || children.length == 0) {
            // This is either a file or an empty directory -> deletion possible
            toDelete.delete();
        } else {
            // Add the children before the folder because they have to be deleted first
            deletionQueue.addAll(Arrays.asList(children));
            // Add the folder again because we can't delete it yet.
            deletionQueue.addLast(toDelete);
        }
    }
}

1

সংক্ষিপ্ত কোল্টিন সংস্করণ

fun File.deleteDirectory(): Boolean {
    return if (exists()) {
        listFiles()?.forEach {
            if (it.isDirectory) {
                it.deleteDirectory()
            } else {
                it.delete()
            }
        }
        delete()
    } else false
}

1

এটি (সরবরাহিত ডিরেক্টরি সহ সমস্ত উপ-ফাইল এবং উপ-ডিরেক্টরিগুলি মুছে ফেলার চেষ্টা করে) :

  1. যদি File, মুছুন
  2. যদি Empty Directory, মুছুন
  3. যদি Not Empty Directory, উপ-ডিরেক্টরি সহ আবার মোছার কল করুন, 1 থেকে 3 পুনরাবৃত্তি করুন

উদাহরণ:

File externalDir = Environment.getExternalStorageDirectory()
Utils.deleteAll(externalDir); //BE CAREFUL.. Will try and delete ALL external storage files and directories

বাহ্যিক স্টোরেজ ডিরেক্টরিতে অ্যাক্সেস পেতে আপনার নিম্নলিখিত অনুমতি দরকার:

(ব্যবহার ContextCompat.checkSelfPermissionএবং ActivityCompat.requestPermissions)

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

পুনরাবৃত্তির পদ্ধতি:

public static boolean deleteAll(File file) {
    if (file == null || !file.exists()) return false;

    boolean success = true;
    if (file.isDirectory()) {
        File[] files = file.listFiles();
        if (files != null && files.length > 0) {
            for (File f : files) {
                if (f.isDirectory()) {
                    success &= deleteAll(f);
                }
                if (!f.delete()) {
                    Log.w("deleteAll", "Failed to delete " + f);
                    success = false;
                }
            }
        } else {
            if (!file.delete()) {
                Log.w("deleteAll", "Failed to delete " + file);
                success = false;
            }
        }
    } else {
        if (!file.delete()) {
            Log.w("deleteAll", "Failed to delete " + file);
            success = false;
        }
    }
    return success;
}

0

আমি এটি একটি রেখেছি যদিও এর 'গতি এটি কোনও ডিরেক্টরি কাঠামোযুক্ত একটি ফোল্ডার মুছে দেয়।

public int removeDirectory(final File folder) {

    if(folder.isDirectory() == true) {
        File[] folderContents = folder.listFiles();
        int deletedFiles = 0;

        if(folderContents.length == 0) {
            if(folder.delete()) {
                deletedFiles++;
                return deletedFiles;
            }
        }
        else if(folderContents.length > 0) {

            do {

                File lastFolder = folder;
                File[] lastFolderContents = lastFolder.listFiles();

                //This while loop finds the deepest path that does not contain any other folders
                do {

                    for(File file : lastFolderContents) {

                        if(file.isDirectory()) {
                            lastFolder = file;
                            lastFolderContents = file.listFiles();
                            break;
                        }
                        else {

                            if(file.delete()) {
                                deletedFiles++;
                            }
                            else {
                                break;
                            }

                        }//End if(file.isDirectory())

                    }//End for(File file : folderContents)

                } while(lastFolder.delete() == false);

                deletedFiles++;
                if(folder.exists() == false) {return deletedFiles;}

            } while(folder.exists());
        }
    }
    else {
        return -1;
    }

    return 0;

}

আশাকরি এটা সাহায্য করবে.


0
//To delete all the files of a specific folder & subfolder
public static void deleteFiles(File directory, Context c) {
    try {
        for (File file : directory.listFiles()) {
            if (file.isFile()) {
                final ContentResolver contentResolver = c.getContentResolver();
                String canonicalPath;
                try {
                    canonicalPath = file.getCanonicalPath();
                } catch (IOException e) {
                    canonicalPath = file.getAbsolutePath();
                }
                final Uri uri = MediaStore.Files.getContentUri("external");
                final int result = contentResolver.delete(uri,
                        MediaStore.Files.FileColumns.DATA + "=?", new String[]{canonicalPath});
                if (result == 0) {
                    final String absolutePath = file.getAbsolutePath();
                    if (!absolutePath.equals(canonicalPath)) {
                        contentResolver.delete(uri,
                                MediaStore.Files.FileColumns.DATA + "=?", new String[]{absolutePath});
                    }
                }
                if (file.exists()) {
                    file.delete();
                    if (file.exists()) {
                        try {
                            file.getCanonicalFile().delete();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        if (file.exists()) {
                            c.deleteFile(file.getName());
                        }
                    }
                }
            } else
                deleteFiles(file, c);
        }
    } catch (Exception e) {
    }
}

এখানে আপনার সমাধান এটি গ্যালারীটিও সতেজ করবে।


0

এটি সমাধানের জন্য আরও একটি (আধুনিক) উপায়।

public class FileUtils {
    public static void delete(File fileOrDirectory) {
        if(fileOrDirectory != null && fileOrDirectory.exists()) {
            if(fileOrDirectory.isDirectory() && fileOrDirectory.listFiles() != null) {      
                Arrays.stream(fileOrDirectory.listFiles())
                      .forEach(FileUtils::delete);
            }
            fileOrDirectory.delete();
        }
    }
}

Android 26 এআইপি থেকে

public class FileUtils {

    public static void delete(File fileOrDirectory)  {
        if(fileOrDirectory != null) {
            delete(fileOrDirectory.toPath());
        }
    }

    public static void delete(Path path)  {
        try {
            if(Files.exists(path)) {
                Files.walk(path)
                        .sorted(Comparator.reverseOrder())
                        .map(Path::toFile)
//                      .peek(System.out::println)
                        .forEach(File::delete);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.