2016-11-03 2 views
0

Я пытаюсь поместить все мои URL-адреса & путей в файл .properties. Так что, если я собираюсь изменить их, было бы легче. Так вот мой path.properties (это в ЦСИ \ основные \ Resources \ META-INF \ весна \ path.properties):Чтение путей в файле .properties

path.clientIdentify=C:\\Palms\\client-identify-bin\\dll 
path.clientEnroll=C:\\Palms\\client-enroll-bin\\dll 
path.pvInfoIni=C://Palms//PV//PVInfo.ini 
path.pvEnrollIni=C://Palms//PV//PVEnroll.ini 

И я пытаюсь вызвать пути в мой контроллер, так это то, что я :

@Controller 
@RequestMapping("/call") 
public class PalmsController { 

    @RequestMapping(value = "/palmsIdentify") 
    public ResponseEntity<String> palmusIdentify() throws IOException, InterruptedException { 

     Properties properties = new Properties(); 
     try (InputStream is = new FileInputStream("classpath*:META-INF/spring/*.properties")) { 
      properties.load(is); 
     } 

     HttpHeaders headers = new HttpHeaders(); 
     ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "StartSample.bat"); 
     builder.directory(new File("path.clientIdentify")); 
     Process process = builder.start(); 
     BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream())); 
     r.close(); 
     process.waitFor(); 

     Properties p = new Properties(); 
     try { 
      p.load(new FileInputStream("path.pvInfoIni")); 
      String pvidNO1 = p.getProperty("PVIDNO"); 
      String pvidNo2 = p.getProperty("PVIDNo"); 
      String authentication = p.getProperty("Authentication"); 

      // Convert to JSON 
      JSONObject jsonObject = new JSONObject(); 
      jsonObject.put("pvId", pvidNO1); 
      jsonObject.put("PVIDNo", pvidNo2); 
      jsonObject.put("is_Authenticated", authentication); 

      return new ResponseEntity<String>(jsonObject.toString(),headers ,HttpStatus.OK); 

     } 
     catch (Exception e) { 
      return new ResponseEntity<String>("{\"ERROR\":" + e.getMessage() + "\"}", headers, 
        HttpStatus.INTERNAL_SERVER_ERROR); 
     } 
    } 

    @RequestMapping(value = "/palmusEnroll") 
    public ResponseEntity<String> palmusEnroll() throws IOException, InterruptedException { 
     Properties properties = new Properties(); 
     try (InputStream is = new FileInputStream("classpath*:META-INF/spring/*.properties")) { 
      properties.load(is); 
     } 

     HttpHeaders headers = new HttpHeaders(); 
     ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "StartSample.bat"); 
     builder.directory(new File("path.clientEnroll")); 
     Process process = builder.start(); 
     BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream())); 
     r.close(); 
     process.waitFor(); 

     // PARSING 
     Properties p = new Properties(); 
     try { 
      p.load(new FileInputStream("path.pvEnrollIni")); 
      String pvidNO1 = p.getProperty("PVIDNO"); 
      String palmusId = p.getProperty("PALMUS_ID"); 


      // Convert to JSON 
      JSONObject jsonObject = new JSONObject(); 
      jsonObject.put("pvId", pvidNO1); 
      jsonObject.put("palmusId", palmusId); 
      return new ResponseEntity<String>(jsonObject.toString(),headers ,HttpStatus.OK); 
     } 
     catch (Exception e) { 
      return new ResponseEntity<String>("{\"ERROR\":" + e.getMessage() + "\"}", headers, 
        HttpStatus.INTERNAL_SERVER_ERROR); 
     } 

    } 

} 

Но, похоже, он не вызывает пути. Или, может быть, я не делаю это правильно? Извините, новичок здесь, надеюсь, кто-то может мне помочь. Спасибо.

ответ

0

Вы не получаете значение из файла свойств. Если объект свойств загружен, вы можете получить значение из файла свойств .


Загрузите свойства ресурсов файл, используя следующий фрагмент кода:

properties.load(getClass().getClassLoader().getResourceAsStream("META-INF/spring/path.properties")); 

И он должен заменить:

try (InputStream is = new FileInputStream("classpath*:META-INF/spring/*.properties")) { 
    properties.load(is); 
} 

И тогда вы можете получить пути, как это:

properties.getProperty("path.clientIdentify"); 
+0

Все еще не сработало. –

+0

Не могли бы вы отлаживать, если ваш код даже загружает файл свойств? – kevto

+0

Я получил ресурс ошибки не найден. Поэтому он не загружает файл свойств. Почему это? –