2012-04-22 4 views
0

я пытаюсь читать значения из файла свойств и , когда я попытался запустить эту программу ее дающую выход в
nullсвойства файла возвращает нуль

import java.io.FileInputStream; 
import java.util.Properties; 
public class JavaApplication1 { 
final private static String osName = System.getProperty("os.name"); 
static final Properties configFile = new Properties() { 

    { 
     try { 
      configFile.load(new FileInputStream("config.properties")); 
     } catch (Exception e) { 
     } 
    } 
}; 
private static String DIR = osName.equals("Linux") ? configFile.getProperty("tempDirForLinux") : configFile.getProperty("tempDirForWindows"); 
public static void main(String[] args) { 
    System.out.println(DIR); 
} 
} 
+0

загрузить ли ваша программа свойства правильно? У вас есть правильное свойство в ваших свойствах? – Jeffrey

+3

Как сказал парень в ответе на ваш предыдущий вопрос, это очень хрупкая техника, которую вы используете. Для начала, по крайней мере, 'printStackTrace' в этом блоке catch. –

+0

опубликовать свой файл свойства и его расположение –

ответ

1

часть, которая немного странно в ваш пример - это то, где вы создаете анонимный класс свойств, а затем загружаете свойства в тот же класс в инструкции инициализации. Я не уверен, как это предназначается, чтобы работать (и я предполагаю, что не делает)

Это, вероятно, что вы хотите, а

public class JavaApplication1 { 
    final private static String osName = System.getProperty("os.name"); 
    static final Properties configFile = new Properties(); 

    static { 
     try { 
      configFile.load(new FileInputStream("config.properties")); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    }; 

    private static String DIR = osName.equals("Linux") ? configFile.getProperty("tempDirForLinux") : configFile.getProperty("tempDirForWindows"); 

    public static void main(String[] args) throws IOException { 
     System.out.println(DIR); 
    } 
} 
+0

Он получил это из [своего предыдущего вопроса] (http://stackoverflow.com/a/10269151/1103872). Не согласился, хотя (стыдно за тебя, С.А.Рахман!). Во всяком случае, это законно, и он работает, когда нет никаких исключений. –

+0

@MarkoTopolnik спасибо, что у меня есть то, что мне нужно. я очень сожалею о своем бедном английском, который не смог объяснить вам, что мне действительно нужно. благодарю вас за ваши советы и добрые комментарии. – sarsarahman

+0

Я поставил вышеуказанный код вопроса в свою IDE, и это не сработало для меня или дало исключение, которое было немного странным. Но код, размещенный в другом вопросе MarkoTopolnik, выглядит так, как будто он тоже должен работать. –

Смежные вопросы