powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / перебор ключей properties
6 сообщений из 6, страница 1 из 1
перебор ключей properties
    #37849964
m.gisko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проглядел форум но не нашел для себя ответа на мой вопрос.
При переборе ключей properties и вставки значений в массив вылетает ошибка
Код: java
1.
2.
3.
4.
java.lang.NullPointerException
	at org.gisko.testProperties.getCatalogsFrom(testProperties.java:44)
	at org.gisko.testProperties.<init>(testProperties.java:27)
	at org.gisko.testProperties.main(testProperties.java:32)



вот код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
package org.gisko;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;

public class testProperties {

	public testProperties() throws Exception{
		
		// Определим файл настроек
		properties = new Properties();
		try{
			properties.load(new FileInputStream(FILE_OF_PROPERTIES));
		}catch(FileNotFoundException e){
			File newFileProperties = new File(FILE_OF_PROPERTIES);
			newFileProperties.createNewFile();
			System.out.println("The settings file is not found. Please change properties in the file: " + newFileProperties.getAbsolutePath());
			System.exit(0);
			
		}
		CATALOGS_FROM = getCatalogsFrom(properties.propertyNames());
	}
	
	public static void main(String[] args){
		try{
			testProperties prop = new testProperties();
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	private ArrayList<File> getCatalogsFrom(Enumeration e){
		ArrayList<File> catalogsForExchange = null;
		while(e.hasMoreElements()){
			String key = (String) e.nextElement();
			if(key.substring(0, 7).equalsIgnoreCase("catalog")){
				System.out.println("key = " + key);
				catalogsForExchange.add(new File(properties.getProperty(key)));
			}
		}
		return catalogsForExchange;
	}
	
/*	private ArrayList<File> getCatalogsFrom(Set<String> s){
		ArrayList<File> catalogsForExchange = null;
		
		Iterator iter = s.iterator();
		
		while(iter.hasNext()){
			String key = (String) iter.next();
			System.out.println(key);
			File ff = new File(properties.getProperty(key));
			System.out.println(ff);
			catalogsForExchange.add(ff);
		}
		return catalogsForExchange;
	}
*/
	
	private ArrayList<File> CATALOGS_FROM;
	private Properties properties;
	private static final String FILE_OF_PROPERTIES = "settings.properties";
}



ошибка вылетает когда я получаю ключ в цикле и пытюсь его значение засунуть в массив.
подскажите что не так делаю? Мож есть другие варианты перебора ключей или мож чет интерестное происходить с arryaList в этом случае?
...
Рейтинг: 0 / 0
перебор ключей properties
    #37849977
m.gisko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь - не знаю как пронумеровать строки, разве что вручную
...
Рейтинг: 0 / 0
перебор ключей properties
    #37849984
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приучайтесь пользоваться дебаггеом:
Код: java
1.
ArrayList<File> catalogsForExchange = null;
...
Рейтинг: 0 / 0
перебор ключей properties
    #37850006
m.gisko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svenomПриучайтесь пользоваться дебаггеом:
Код: java
1.
ArrayList<File> catalogsForExchange = null;


спс, однкаго не помогло...я так понимаю тут даже не то что добавление элемента в массив, а создание самого элемента из начения properties
...
Рейтинг: 0 / 0
перебор ключей properties
    #37850019
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе же говорят

Код: java
1.
ArrayList<File> catalogsForExchange = null;



это объект, значит надо его инициализировать (вызов оператора new)
...
Рейтинг: 0 / 0
перебор ключей properties
    #37850027
m.gisko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот блин, точно...а я просто не инициализировал...спасибо большое!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / перебор ключей properties
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]