Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    99

    [java]lista file e directory:cancellare sottodirectory

    volevo capire una cosa sul funzionamento di list di java.File e la cancellazione di sottodirectory:
    se faccio:
    codice:
    File directory = new File("c:\pippo\");
    File[] files = directory.listFiles();
    for (File f : files)
    f.delete();
    mi vengono cancellati tutti i file che sono all interno della cartella c:\pippo\
    ma mi restano le sottodirectory.come faccio a cancellare anche quelle???
    f4s4n0

  2. #2
    controlli se il file attuale è una directory... in tal caso richiami lo stesso metodo ricorsivamente passando come parametro quella directory
    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Esempio:

    codice:
    import java.io.*;
    
    
    public static boolean deleteDirTree (File dir)
    {
        boolean r = true;
    
        File[] files = dir.listFiles ();
    
        if (files != null)
        {
            for (File f : files)
            {
                if (f.isDirectory ())
                    r &= deleteDirTree (f);
    
                r &= f.delete ();
            }
        }
        else
            r = false;
    
        return r;
    }
    Il metodo restituisce true se tutti i file/directory sono stati cancellati, false se anche solo 1 file/directory non è stato cancellato per qualche motivo (errore di I/O, permesso negato, ecc....).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    99
    grazie mille...pensavo che cosi facendo cancellava solo i file lasciando le sottodirectory vuote...invece funziona alla perfezione....
    f4s4n0

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.