2016-01-01 3 views
1

Я разрабатываю приложение java swing и отлично работает, но после создания моего приложения, когда я запускаю файл jar, мое приложение не работает так, как я хочу , так, чтобы знать, что это проблема, которую я использовал этот тест:как сделать файл свойств доступным после создания приложения java

FileReader reader; 
Properties props; 
    try{ 
     reader = new FileReader("src\\inputs.properties"); 
     props = new Properties(); 
     props.load(reader2); 

     JOptionPane.showMessageDialog(null,reader.getClass()); 
    }catch(Exception e){ 
     JOptionPane.showMessageDialog(null,e.getMessage()); 
    } 

поэтому, когда я запустить приложение работает нормально, и я получаю сообщение: message before building the app

И это означает, что загружается мой файл свойств.

Но когда я построить приложение, когда я запускаю его я получаю сообщение:

message after building the app

Моя проблема заключается в том, чтобы сделать мои файл свойств работы после строительства может приложение?

Я использую NetBeans и это моя структура проекта:

-source Пакет
--default пакет
- inputs.properties
--myapppackage
--myapppackage.java

благодарит заранее.

+0

Можете ли вы разместить сообщение об ошибке в виде текста вместо ссылок на скриншоты? – khelwood

+0

Да, это первое сообщение: class java.io.FileReader второе сообщение src \ inputs.properties (система не может найти указанный путь) – James

+0

Возможный дубликат [Как использовать файлы свойств Java?] (Http: // stackoverflow. com/questions/1318347/how-to-use-java-property-files) –

ответ

1

Пожалуйста, создайте папку «конфигурации» в проекте и размещать inputs.properties в него.

reader = new FileReader("config/inputs.properties"); 

для деталей, вы также можете пройти через эту тему: Netbeans FileReader FileNotFound Exception when the file is in folder?

Или: Когда ваш ресурс находится в JAR файле, это не файл больше. Файл - это только физический файл в файловой системе. Решение: используйте getResourceAsStream. Что-то вроде этого:

try { 

     Properties props; 
     Property p=new Property(); 
     InputStreamReader in=new InputStreamReader(p.getClass().getResourceAsStream("/config/" + "inputs.properties")); 
     props = new Properties(); 

     props.load(in); 

     JOptionPane.showMessageDialog(null, in.getClass()); 
    } catch (Exception e) { 
     JOptionPane.showMessageDialog(null, e.getMessage()); 
    } 
1

Попробуйте использовать это, чтобы загрузить файл свойств:

 File file = new File("inputs.properties);//use the right path 
     FileInputStream fileInput = new FileInputStream(file); 
     Properties properties = new Properties(); 
     properties.load(fileInput); 
     fileInput.close(); 
+0

Эй, абдельхак, спасибо за ваш ответ, я изменяю путь к «inputs.properties», но теперь получаю это сообщение: система не может найти путь указано. до и после создания приложения. – James

+0

@ Али вы сообщение в обоих случаях? – Abdelhak

+0

есть в обоих случаях. – James

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