Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    analizzare una directory

    Salve a tutti,

    Desideravo avere indicazioni su quale tecnica utilizzare per analizzare l'intero contenuto di una directory, la quale presenta al suo interno numerose altre sottodirectory e file su più livelli.
    esempio:
    DIR
    / \
    DIR1 DIR2
    / | \
    / | \
    DIR3 DIR4 DIR5
    / / \
    / / \
    DIR6 FILE DIR7
    / / \
    / / \
    FILE FILE DIR8


    Ho provato con un sistema usato su un server ftp per cancellare directory non empty, basandomi su livelli dei vari folder controlli dei path attraversati ma non riesco a risolvere.
    Ho pensato ad un sistema ad albero ma non l'ho mai implementato e non saprei come iniziare
    grazie mille.

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

    Re: analizzare una directory

    Originariamente inviato da francesc076
    Desideravo avere indicazioni su quale tecnica utilizzare per analizzare l'intero contenuto di una directory, la quale presenta al suo interno numerose altre sottodirectory e file su più livelli.
    Se è sul file-system locale, la classe java.io.File fornisce vari metodi list e listFiles.
    Se dovessi accedere ad un server FTP da Java (è questo che stavi dicendo?) dipende dalla API/libreria di FTP "client" che si sceglie ma (quasi) certamente viene offerto almeno 1 metodo che consente di ottenere le entry in una directory.

    Comunque in generale quello che si ha di solito è almeno 1 metodo a disposizione che fornisce un elenco delle sole "entry" presenti in una directory. Fare una scansione in "profondità" su un file-system è compito tuo usando tecniche come la invocazione ricorsiva oppure altre tecniche che non implicano la ricorsione.

    Detto questo, precisa meglio su che cosa vuoi lavorare e sopratutto quali sono i tuoi dubbi o problemi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Volevo ringraziarti per il tuo prezioso consiglio non sapevo che vi fosse la possibilità di utilizzare la tecnica ricorsiva di seguito il codice che ho usato per verificare se una directory sia o meno accessibile e quindi utilizzabile dalla mia applicazione:

    codice:
    public boolean ispezionaDirectory(File file){
      
     //elenco dei file 
      File [] elenco;
      //verifica se è un file
      if (file.isFile()) {
        //visualizza il path del file
        System.out.println(file.toString());
      }
      //verifica se è una directory
      else if (file.isDirectory()) {
        //visualizza il path della directory
        System.out.println(file.toString());
        //carica un elenco di file e/o directory
        elenco = file.listFiles();
        if(elenco==null){
            
            siPuoUsare =false;
        }
        else{
            siPuoUsare =true;
            //itera all'interno delle sottoDirectory
            for(int i = 0; i < elenco.length; i++){
                ispezionaDirectory(elenco[i]);
            }
        }
        
      }
      return siPuoUsare ;
    }
    Ciao e grazie.

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.