Ricercare un File in tutto il PC?

di il
1 risposte

Ricercare un File in tutto il PC?

Ciao a tutti, inanzi tutto grazie per la vostra pazienza e la vostra attenzione, volevo chiedere come si fa a ricercare un File in tutto il PC, per il momento sono solo riuscita a cercarlo nella Cartella del progetto, ho guardato vari esempi su internet e sul mio libro ma non riesco a capire come funziona.
Ad esempio ho trovato questo in giro
public static String scansionaDirectory(File dir) throws IOException {
        String result = "";
        File[] elementi = dir.listFiles();
        if (elementi == null) {
        	return null;
        }
        for (File file : elementi) {
            if (file.isDirectory()) {
                result += scansionaDirectory(file); //ricorsione
            } else {
           		result += file + "\n";
            }
        }
        return result;
    }
Ma non riesco a capirlo!! Io al momento ho scritto questo (So che è scritto davvero male però funziona al momento mi va bene così)
import java.awt.GridLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**
 * Ricerca di un File dato il nome
 */
public class Gui implements ActionListener{
	
	private JFrame f;
	public	TextField text;
	public 	TextField path;
	private JButton cerca;
	private JPanel p;
	private JLabel l;
	
	public Gui(){
		f = new JFrame("Cerca File");
		f.setSize(600,100);								//Dimensione
		f.setLocation(400,200);							//Posizione
		f.setResizable(false);							//Non si può ridimensionare
		f.addWindowListener(new GestoreFinestra());		//Ascoltatore eventi
		
		text = new TextField();
		path = new TextField();
		path.setEditable(false);
		
		cerca = new JButton("Cerca");
		cerca.addActionListener(this);
		
		p = new JPanel();
		p.setLayout(new GridLayout(1,2));
		
		p.add(text);
		p.add(cerca);
		
		l = new JLabel("Path:");
		
		//Aggiungo al Frame
		f.add(p, "North");
		f.add(l, "Center");
		f.add(path, "South");
		f.setVisible(true);
	}
	


//	    public static void main(String args[]) throws FileNotFoundException {
//	        FileListing file = new FileListing();
//	        file.scansionaDirectory(new File("E:\\Dir"));
//	    }
//	}
	

	/**
	 * EVENTI ------------------------------------------------------------------->
	 */
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() == cerca){
			GuiEr g;
			String nomeFile;
			String pathMio;
			File mioFile;
			FileWriter scrittore;
			 
			nomeFile = text.getText();
			mioFile = new File(nomeFile);				
			
			//Restituisce Path
			if(mioFile.exists() == true){
				pathMio = mioFile.getAbsolutePath(); 	// e il path assoluto
				path.setText(pathMio + "\n"); 
				//Salva il File 	     
		        mioFile = new File("Ricerca.txt");	        	
		        try {
		        	mioFile.createNewFile();						// creo un nuovo file
		        	scrittore = new FileWriter(mioFile);			// imposto lo scrittore del file
		        	scrittore.write((path.getText()));	                
		        	scrittore.close();																											// chiudo il file
		        } catch (IOException f) {
		        	System.out.println("Errore: "+f);
		        }
			}
			if(mioFile.exists() == false){
				new GuiEr();				
			}


	        	
	        	
//			
//			//Apri il file
//	        String[] commands = {"cmd", "/c", "start", nomeFile};
//	        try {
//				Runtime.getRuntime().exec(commands);
//			} catch (IOException e1) {
//				e1.printStackTrace();
//			}
			
			
		}
		
	}
	
	
	
	/**
	 * Main --------------------------------------------------------------------->
	 */
	public static void main(String[] args) {
		new Gui();

	}

}

1 Risposte

  • Re: Ricercare un File in tutto il PC?

    Chia995 ha scritto:


    ho guardato vari esempi su internet e sul mio libro ma non riesco a capire come funziona.
    Ma non riesco a capirlo!!
Devi accedere o registrarti per scrivere nel forum
1 risposte