• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

java.lang.NullPointerException - nie rozumiem tego.....

Cloud VPS
–1 głos
617 wizyt
pytanie zadane 29 grudnia 2019 w Java przez kalendarmenn Obywatel (1,270 p.)

Witam!

Problem jak w tytule.

Kod:

public static void loadAllGameFiles() {
			File folder = new File(System.getProperty("user.dir")+"/gamefiles");
			File[] listOfFiles = folder.listFiles();
			
			//Loop all files in game's directory
			for (File file : listOfFiles)
			{
				//Set fileName to the name of file
				String fileName = file.getName();
				System.out.println(fileName);
				
				//Check file
				if (ErrorMessage.checkFile(file) != 0)
					System.out.println(ErrorMessage.defaultErrorMsg(ErrorMessage.checkFile(file)));
				
				//If the file contains .txt
				if (fileName.contains(".txt"))
				{
					if (fileName.contains("ProjectSettings"))
						ProjectSettings = FileFunctions.LinesToArrayList(file);
					if (fileName.contains("SceneProperties"))
						SceneProperties.add(FileFunctions.LinesToArrayList(file));
					if (fileName.contains("ObjectProperties"))
						ObjectProperties.add(FileFunctions.LinesToArrayList(file));
				}
				
			}
	}

Kod funkcji LinesToArrayList:

public static ArrayList<String> LinesToArrayList(File file)
	{
		ArrayList<String> ar = new ArrayList<String>();
		
		try {
			//Scanner
			Scanner scanner = new Scanner(file);
			
			//Loop
			while (scanner.hasNextLine())
			{
				ar.add(scanner.nextLine());
			}
			
			//Close scanner
			scanner.close();
		}
		catch (FileNotFoundException e) {
			System.out.println(ErrorMessage.defaultErrorMsg(1));
		}
		return ar;
	}

Czerwona pogrubiona linijka powoduje błędy.

2 odpowiedzi

0 głosów
odpowiedź 29 grudnia 2019 przez kalendarmenn Obywatel (1,270 p.)
Znalazłem źródło problemu, a rozwiązanie było banalne.

Wystarczyło dopisać do każdego ArrayList "= new ArrayList....."
0 głosów
odpowiedź 29 grudnia 2019 przez Aisekai Nałogowiec (42,190 p.)
Strasznie ciężko się to czyta.

1. Podaj linijkę w której jest błąd

2. Zastosuj konwencję nazewnictwa z Javy, bo za cholere nie wiem, czy ProjectSettings i SceneProperties to klasy czy obiekty? O ile jakieś tam przypisanie do ProjectProperties jest, więc pewnie jest to obiekt to SceneProperties nie wiem co to jest.

3. Jeżeli błąd jest w 24 linii 1 metody, to dlatego, że ObjectProperties jest nullem. Czemu? Bo nie jest zainicjowana.

Podobne pytania

0 głosów
1 odpowiedź 218 wizyt
pytanie zadane 28 października 2018 w Java przez Pus_Tako_sy Początkujący (320 p.)
0 głosów
0 odpowiedzi 170 wizyt
pytanie zadane 5 października 2016 w Android, Swift, Symbian przez kacperdyba Gaduła (3,290 p.)
–1 głos
1 odpowiedź 210 wizyt
pytanie zadane 30 września 2017 w Java przez Ninja198 Początkujący (330 p.)

93,487 zapytań

142,420 odpowiedzi

322,772 komentarzy

62,903 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...