Fichiers et listes
OmEn
-
OmEn -
OmEn -
Voilà mon second problême : j'ai créé un prog' le plus petit possible qui listerait tous les fichiers de l'ordi. C'est une version pour macintosh car la racine est quelque chose comme : /Macintosh HD/. C'est cela que cherche le début du code et la suite ouvre chaque dossier. Mais pourquoi cela me renvoie-t-il toujours une NullPointerException ?
import java.io.*;
public class TrivialApplication
{
public static void main(String[] a)
{
String[] r = new File(new File("/").list()[0]).list();
if(r.length > -1) for(int i = 0 ; i < r.length ; i++) new D(new File(r[i]));
System.exit(0);
}
}
public class D
{
public D(File f)
{
if(f.isFile()) System.out.println(f.getName());
else
{
String[] l = f.list();
if(l.length > 0) for(int i = 0 ; i < l.length ; i++) new D(new File(l[i]));
}
}
}
Merci de me répondre au plus vite.
OmEn
import java.io.*;
public class TrivialApplication
{
public static void main(String[] a)
{
String[] r = new File(new File("/").list()[0]).list();
if(r.length > -1) for(int i = 0 ; i < r.length ; i++) new D(new File(r[i]));
System.exit(0);
}
}
public class D
{
public D(File f)
{
if(f.isFile()) System.out.println(f.getName());
else
{
String[] l = f.list();
if(l.length > 0) for(int i = 0 ; i < l.length ; i++) new D(new File(l[i]));
}
}
}
Merci de me répondre au plus vite.
OmEn
A voir également:
- Fichiers et listes
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Explorateur de fichiers - Accueil - Windows
- Wetransfer gratuit fichiers lourd - Guide
- Files : le meilleur explorateur de fichiers pour Windows - Guide
7 réponses
C'est moi qui voix double ou t'a deja poser la question et j'ai deja repondu?
Enfin je recommence pasque la derneire fois j'avoue j'ai fait un peu vite et il y avais une erreur ds mon code...
public class onsenfou
{
public onsenfou() {};
public void main(...)
{
list(new String("..." /*ici tu met la racine*/));
};
public void list(String s)
{
File source = new File(s);
if(source.isDirectory())
{
String files[] = source.list();
try
{
for(int i=0;true;i++)
{
list(files[i]);
}
}
catch(ArrayOutOfBoundException) {};
}
else System.out.println(source.toString());
};
};
Voila facille non? Et tu peux meme ameliorer pour avoir un alignement etc...
Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.
Enfin je recommence pasque la derneire fois j'avoue j'ai fait un peu vite et il y avais une erreur ds mon code...
public class onsenfou
{
public onsenfou() {};
public void main(...)
{
list(new String("..." /*ici tu met la racine*/));
};
public void list(String s)
{
File source = new File(s);
if(source.isDirectory())
{
String files[] = source.list();
try
{
for(int i=0;true;i++)
{
list(files[i]);
}
}
catch(ArrayOutOfBoundException) {};
}
else System.out.println(source.toString());
};
};
Voila facille non? Et tu peux meme ameliorer pour avoir un alignement etc...
Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.
Je ne vois pas le rapport... c'est une autre facon de faire mais moi je veux savoir le bug dans ma méthode.
OmEn
OmEn
Pour commencer ds ta methode tu teste 25 fois le meme chose, et ensuite elle est un peu lourde... pasque oublie pas que java c'est pas un fusee alors si tu veux un prog le plus petit possible...
Pour ton probleme exactement, je sais pas j'ai pas java sur la machine ou je suis...
Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.
Pour ton probleme exactement, je sais pas j'ai pas java sur la machine ou je suis...
Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.
Si tu ne parles que du début, c'est pas un blême. Pour le faire version PC, c'est plus simle regarde :
import java.io.*;
public class TrivialApplication
{
public static void main(String[] a)
{
String[] r = new File(new File("C:/").list();
if(r.length > -1) for(int i = 0 ; i < r.length ; i++) new D(new File(r[i]));
System.exit(0);
}
}
public class D
{
public D(File f)
{
if(f.isFile()) System.out.println(f.getName());
else
{
String[] l = f.list();
if(l.length > 0) for(int i = 0 ; i < l.length ; i++) new D(new File(l[i]));
}
}
}
Alors ?
OmEn
import java.io.*;
public class TrivialApplication
{
public static void main(String[] a)
{
String[] r = new File(new File("C:/").list();
if(r.length > -1) for(int i = 0 ; i < r.length ; i++) new D(new File(r[i]));
System.exit(0);
}
}
public class D
{
public D(File f)
{
if(f.isFile()) System.out.println(f.getName());
else
{
String[] l = f.list();
if(l.length > 0) for(int i = 0 ; i < l.length ; i++) new D(new File(l[i]));
}
}
}
Alors ?
OmEn
Non non je parlais pas du debut... mais justement de la suite...
Je sais bien que ta methode te tien a coeur, mais pourquoi faire avec 2 classe si tu peu faire avec une seule? Tu encombre la pile avec des truc qui ne servent a rien...
Enfin pour un peu plus d'info mets moi le message d'erreur complet que tu a, je verrai ce que je peux faire...
Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.
Je sais bien que ta methode te tien a coeur, mais pourquoi faire avec 2 classe si tu peu faire avec une seule? Tu encombre la pile avec des truc qui ne servent a rien...
Enfin pour un peu plus d'info mets moi le message d'erreur complet que tu a, je verrai ce que je peux faire...
Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.
Exception Occurred:
java.lang.NullPointerException
at TrivialApplication.main(Compiled Code)
at com.apple.mrj.JManager.JMStaticMethodDispatcher.run(JMAWTContextImpl.java)
at java.lang.Thread.run(Thread.java)
java.lang.NullPointerException
at TrivialApplication.main(Compiled Code)
at com.apple.mrj.JManager.JMStaticMethodDispatcher.run(JMAWTContextImpl.java)
at java.lang.Thread.run(Thread.java)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
A oui...
Bon essayons pour mac :
... main(...)
{
File f = new file("/");
//info de debug
D dd = new D(f);
// info de debug
}
Sans System.exit ... il le fera comme un grand...
Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.
Bon essayons pour mac :
... main(...)
{
File f = new file("/");
//info de debug
D dd = new D(f);
// info de debug
}
Sans System.exit ... il le fera comme un grand...
Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.