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

    [java] elencare il contenuto dell'hd

    Salve a tutti, sto facendo una classe che mi deve stampare a video il contenuto dell'hd (o precisamente dei files, le cartelle potri anche non stamparle). Ho fatto una cosa del genere:

    codice:
    import java.io.File;
    
    public class FileSearcher {
        
        public static void main(String[] args) {
      
      			fileBrowser("C:\\FileSearcher\\");
        }
        
        static void fileBrowser(String strPath){
        			
          			File file = new File (strPath);
        			  			
    			File arrTotalFiles  [] = file.listFiles();
      			  	
     			String strItemName;
      			File filItem;
      			int iTot=arrTotalFiles.length;
    
    			for (int i=0;i<iTot ;i++){
      				
    	              		filItem=arrTotalFiles[i];
      				
    				strItemName=filItem.getName();
      				
      				if	(filItem.isDirectory()){
      					
      					System.out.println("[" + strItemName+ "]");
      						
      					fileBrowser(strItemName);
      				}else{
      					System.out.println(strItemName);
      				}  								
    		    }
    	}        
    }
    Purtroppo ricevo una nullpointerexception a quanto ho capito io sulla riga che mi calcola la dimensione dell'array. Questa viene però solo quando entra nelle cartelle per elencare i file contenuti all'interno (quindi se nella root ho solo file la dimensione viene calcolata correttamente e non ricevo errori.
    Come posso risolvere il problema?
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  2. #2
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570

    Re: [java] elencare il contenuto dell'hd

    Originariamente inviato da Nunkij
    codice:
    ...
    int iTot=arrTotalFiles.length();
    ...
    E' una vita che non programmo più, ma se non ricordo male, array, il metodo, quando viene chiamato, necessita delle parentesi.

    ciao

    [EDIT]
    credo proprio di aver detto una castroneria...
    un array di oggetti File, è sempre un array,
    quindi l'attributo .length è corretto.
    scusate....
    [/EDIT]
    slack? smack!

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    codice:
    import java.io.*;
    
    public class listFiles {
      public listFiles() {
        
      }
      public void getlistFiles(String path) throws Exception {
        File f= new File(path);
        if (f.isDirectory()) {
          File[] allFiles = f.listFiles();
          for (int i=0; i < allFiles.length; i++) {
            getlistFiles(allFiles[i].getPath());
          }      
        }
        else {
          System.out.println(f.getPath());
        }
      }
      
      public static void main (String[] args) {
        listFiles lf = new listFiles();
        try {
          lf.getlistFiles("F:/");
        }
        catch (Exception e) {}
      }
    }
    putroppo ad un certo punto nella cartella Recycler (è nella root) lancia un'eccezione...
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    ma io in questo caso nn parto dalla root ma da una sottocartella
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    allora non avrai problemi.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    ma mi viene generata un'eccezione ugualmente! da cosa deriva?
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non ne ho idea: a me con le sottocartelle il programma funzia. E' qualche cartella particolare su cui ha problemi?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    ogni volta che incontra una cartella e ci entra dentro mi lancia l'eccezione! su google ho trovato che è un'eccezzione lanciata quando si fa riferimento ad oggetti nulli, ma io nn ho oggetti nulli là, o sbaglio? e poi l'eccezione parte dalla 2 ricorsione e non alla prima!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    il mio codice, salvo nel caso di root (come tra l'altro ho postato) qui funziona: Windows XP Pro SP2 e JVM 1.5.06
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.