vorrei realizzare una classe che, data un path in input, visualizzi tutti i files e, ricorsivamente, le sottoDirectory.
Cioe', a dire il vero lo scriverei su un file html, ma questo e' il passo successivo
Mi raccomando, sono MOLTO principiante![]()
vorrei realizzare una classe che, data un path in input, visualizzi tutti i files e, ricorsivamente, le sottoDirectory.
Cioe', a dire il vero lo scriverei su un file html, ma questo e' il passo successivo
Mi raccomando, sono MOLTO principiante![]()
Ciao ecco l'esempio + stupido che ho fatto; ovviamente lascio a te il compito di aggiustarlo.
Ciao
import java.io.*;
import javax.swing.JOptionPane;
public class DammiContenuto {
public static void main( String[] args ){
String path = JOptionPane.showInputDialog( null,"Inserisci il path", "Input path", JOptionPane.INFORMATION_MESSAGE );
if( ( path == null ) ||( path.equals( "" ) ) ){
JOptionPane.showMessageDialog( null,"Dovevi inserire un path", "Errore", JOptionPane.ERROR_MESSAGE );
System.exit( 0 );
}
File f = new File( path );
File[] contenuto = f.listFiles();
System.out.println( "############################################# ##" );
System.out.println( "Directories" );
System.out.println( "############################################# ##" );
for( int i = 0; i < contenuto.length; i++ ){
if( contenuto[i].isDirectory() ){
System.out.println( contenuto[i].getName() );
}
}
System.out.println( "############################################# ##" );
System.out.println( "Files" );
System.out.println( "############################################# ##" );
for( int i = 0; i < contenuto.length; i++ ){
if( contenuto[i].isFile() ){
System.out.println( contenuto[i].getName() );
}
}
System.out.println( "Fatto" );
System.exit( 1 );
}
}
Se vuoi trovare l'arcobaleno, devi sopportare la pioggia
Beh, il passo difficoltoso da capire credo sarà il concetto di ricorsione, che non è stato preso in considerazione da Angelo.Originariamente inviato da wallrider
vorrei realizzare una classe che, data un path in input, visualizzi tutti i files e, ricorsivamente, le sottoDirectory.
Cioe', a dire il vero lo scriverei su un file html, ma questo e' il passo successivo
Mi raccomando, sono MOLTO principiante![]()
credo che la ricorsione si possa implementare mettendo il corpo in un metodo statico piuttosto che nel mainOriginariamente inviato da Nosferatu
Beh, il passo difficoltoso da capire credo sarà il concetto di ricorsione, che non è stato preso in considerazione da Angelo.![]()
E' stupido forse ma e' proprio cio' che cercavoOriginariamente inviato da Angelo1974
Ciao ecco l'esempio + stupido che ho fatto; ovviamente lascio a te il compito di aggiustarlo.
Ciao
GRAZZZZZ :metallica:metallica
...che richiama se stesso nella sua ultima riga con parametri opportunamente modificati in modo che converga.Originariamente inviato da wallrider
credo che la ricorsione si possa implementare mettendo il corpo in un metodo statico
Doppio!!!
si, pero' non funziona
import java.io.*;
public class DammiContenuto {
public static PrintWriter out = null;
public static void main( String[] args ){
ConsoleReader c=new ConsoleReader(System.in);
String path ;
do{
System.out.print("Path:'Z:\\altro'");
path="Z:\\altro";
//c.readLine();
}while(( path == null ) ||( path.equals( "" )));
try {
out = new PrintWriter(new BufferedWriter(new FileWriter("prova.html")));
out.println("<HTML>");
out.println("<HEAD>");
out.println("</HEAD>");
out.println("<BODY>");
out.println("<UL>");
out.println("<LI>");
mostra(path);
out.println("</LI>");
out.println("[/list]");
out.println("</BODY>");
out.println("</HTML>");
out.close();
}catch(IOException e) {
System.out.println(" IOException "+e);
}
}
public static void mostra(String path){
System.out.println("Mostro il contenuto di "+path);
File f = new File(path);
File[] contenuto = f.listFiles();
if(contenuto != null){
System.out.println("trovati "+contenuto.length+" oggetti dentro "+path);
out.println("<UL>");
for( int i = 0; i < contenuto.length; i++ ){
if( contenuto[i].isDirectory() ){
out.println("<LI>");
mostra( contenuto[i].getName() );
out.println("</LI>");
}
}
for( int i = 0; i < contenuto.length; i++ ){
if( contenuto[i].isFile() ){
out.println("<LI>"+contenuto[i].getName()+"</LI>");
}
}
out.println("[/list]");
}else
System.out.println(path +" non ha files");
}
}
dice sempre che contenuto e' null, cioe' alla riga 35 la guardia da' sempre false e va sempre alla riga 52
Scusate ma in realtà volevo rispondere volevo al tread
[java] directory e files
sono agli inizi con java e ...sperando di non chiedere troppo... :quipy:
vorrei provare a chiedere se qualcuno di voi mi può dire che differenza esiste tra il modo di chiamare alcune classi...
nell'esempio di Angelo sopra...
chima due classi,
prima così:
String path = JOptionPane.showInputDialog(null,"Inserisci il path", "Input path", JOptionPane.INFORMATION_MESSAGE );
e poi un'altra così:
File f = new File(path );
(daltronde quest'ultimo è quello che conosco nella mia poca esperienza di studente...)
perchè esiste questa differenza....?? :bubu: :bubu:
Potete illuminarmi...??
Ciao
magola maga magiaOriginariamente inviato da centro
Scusate ma in realtà volevo rispondere volevo al tread
[java] directory e files![]()
...Terrible warlords, good warlords, and an english song
grazie...