Soru & Cevap

for döngüsünde java.lang.NullPointerException hatası

30.07.2019 - 12:21



Şöyle bir kod parçacığında for döngüsünün yazılı olduğu satırda jav.lang.NullPointer hatası alıyorum.Sebebini bilen var mı?

 rule.setFunctionNames(SqlFuncs);
        final sqlmetodu formatter = new sqlmetodu(rule);
        
      
        final File [] files = new File ("C:\\Users\\rumeysa\\eclipse-workspace\\dbsql.txt").listFiles();
        
        for(int i=0 ; i < files.length; i++) {
        	System.out.println("--" + files[i].getName());
        	
        	
        	final BufferedReader reader = new BufferedReader (new FileReader(files[i]));
        	String before ="";
        	while (reader.ready()) {
        		String line =reader.readLine();
        		if(line==null)
        			break;
        		
        		before += line +"\n";
        	}
        	reader.close();
        	
        	System.out.println("[before]\n" + before);
        	String after = formatter.format(before);
        	System.out.println("[after]\n"+after);
        }
    }
}
 


Exception in thread "main" java.lang.NullPointerException
at sqlformatmetodu.sqlmetodu.main(sqlmetodu.java:388)
Picked up JAVA_TOOL_OPTIONS: -Djava.vendor="Sun Microsystems Inc."
 

hata bu şekilde.

664 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-166988-1602844250.png
saitorhan
30.07.2019 - 12:39

final File [] files = new File ("C:\\Users\\rumeysa\\eclipse-workspace\\dbsql.txt").listFiles(); satırında listFiles() metodu verilen klasör içerisinde yer alan dosyaların adını liste şeklinde alıyor. Sizin verdiğiniz parametre ("C:\\Users\\rumeysa\\eclipse-workspace\\dbsql.txt") bir klasör yolu olmadığından files dizisine null değer atanıyor. Parametreyi "C:\\Users\\rumeysa\\eclipse-workspace" olarak değiştirirseniz sorun çözülecektir.

rumeysa
30.07.2019 - 01:58
Teşekkür ederim, sorun bundan kaynaklıymış çözüldü.