2010-11-23 4 views
0

J'essaye d'écrire une méthode qui trouve la profondeur d'un système de fichiers et une autre qui trouve le plus gros fichier. J'ai plusieurs dossiers qui contiennent des fichiers texte simples et sont à diverses profondeurs dans les répertoires. Je pense qu'il pourrait y avoir un problème avec l'entrée de fichier, comme si cela ne prenait rien ou quelque chose? Voici le stacktrace:Java- Null-Pointer-Exception, entrée de fichier?

Exception in thread "main" java.lang.NullPointerException 
at FileExploration.largestFile(FileExploration.java:68) 
at FileExploration.main(FileExploration.java:14) 

Voici les lignes qui sont dans cette trace:

public static void main (String[] args) { 
System.out.println(largestFile(new File(
    "c:/home/skatty14/workspace/LargestFile"))); //Line 14 
} 

File[] files = h.listFiles(); 
for (File f: files) { //Line 68 
File lf = largestFile(f); 

Quelqu'un sait comment faire en sorte que cela fonctionne correctement? Je soupçonne que le fichier d'entrée de la ligne 14 n'est pas «intégré» correctement ou quelque chose? Je n'ai aucune idée POURQUOI, cependant ... toute lumière que quelqu'un peut jeter sur cette question serait très appréciée, merci!

Editer: Oh, d'accord ... Je pense que je pourrais avoir trouvé le problème!? J'utilise Linux: Ubuntu-Lucid Lynx, qui n'a même pas de répertoire c:/HD. Bien, comment puis-je accéder à un système de fichiers à partir de Java (en particulier dans le répertoire Home)?

Edit2: RESOLU: Je viens de changer le répertoire à l'un de mes disques durs externes. Peut-être que les permissions bloquaient l'accès au dossier Home, je ne sais pas ... Je l'ai corrigé de toute façon! ;)

Répondre

1

Chemin vers votre répertoire personnel sur Ubuntu;/home/nom d'utilisateur/