help, java rekurze, prohledávání složek

HackForum

help, java rekurze, prohledávání složek#
Program má pomocí rekurze vyhledat určitej soubor. Z neznámých důvodů to najde první výskyt, chvíly šrotí disk a pak to hodí: Exception in thread "main" java.lang.NullPointerException. Dík za pomoc

public static void hledej(File dir, String nazev) {
File fa[] = dir.listFiles();
for (int i=0; i<fa.length; i++) {
File f = fa;
if(f.getName().equalsIgnoreCase(nazev)){
System.out.println(f.getPath());

}
else if (f.isDirectory()) {
hledej(f,nazev);
}
}
}


public static void main(String[] args) {
hledej(new File("c:\\"), "a.txt");


}
(odpovědět)
Másloid | 147.32.94.*28.1.2008 17:47
re: help, java rekurze, prohledávání složek#
nevypadlo ti tam '' :)
(odpovědět)
hih | 85.160.47.*28.1.2008 20:57
re: help, java rekurze, prohledávání složek#
sorry server mi sezral par znaku - nechybi tam hr. zavorka i hr. zavorka?


test: !@#$%^&*()_+{}[]\/.,<>;':"`
(odpovědět)
hih | 85.160.47.*28.1.2008 21:16
re: help, java rekurze, prohledávání složek#
v jave se moc nevyznám, ale nemělo by tam bejt File f = fa; ?
(odpovědět)
mon | E-mail28.1.2008 21:14
re: help, java rekurze, prohledávání složek#
aha ono ty hranaty zavorky vyseparovalo - proste f = fa "hranata zavorka" i "konechranaty zavorky" ;
(odpovědět)
mon | E-mail28.1.2008 21:16
re: help, java rekurze, prohledávání složek#
File f = fa;
(odpovědět)
HC28.1.2008 21:40
re: help, java rekurze, prohledávání složek#
File f = fa[i];
Tak ;>
(odpovědět)
HC28.1.2008 21:41
re: help, java rekurze, prohledávání složek#
thumbs up ;D

----------
..:@]> [link] <[@:..
(odpovědět)
DjH | E-mail | Website | ICQ 319-960-89528.1.2008 22:10
re: help, java rekurze, prohledávání složek#
imho tam
File f = fa[i]];
měl, ale taky mu to odebralo ty hranate zavorky (zrejme kvuli BBCode)

----------
..:@]> [link] <[@:..
(odpovědět)
DjH | E-mail | Website | ICQ 319-960-89528.1.2008 22:19
re: help, java rekurze, prohledávání složek#
Mas pravdu. Chyba byla jinde ;]
Pokousi se cist i obsah adresaru do kterych nema pristup. Napr. C:\System Volume Information
Takze resenim jsou treba vyjimky.

try {
...
} catch (NullPointerException e) {
...
}

(odpovědět)
HC28.1.2008 23:45
re: help, java rekurze, prohledávání složek#
Díky, problém vyřešen. (try, catch)
(odpovědět)
Másloid | 147.32.94.*29.1.2008 9:31

Zpět
 
 
 

 
BBCode