Я пытаюсь обновить данные в файле "ex.properties". Текущие данные используются файлом applicationContext.xml. Я пробовал каждое решение, которое я нашел в Интернете, но я все еще не могу определить путь к файлу «ex.properties», когда «CurrencyAddJob.java» пытается достичь и изменить данные.Не удалось найти файл Spring java -.properties
Связанные часть "ex.properties" файла applicationContext.xml:
<bean id="dailyCountJobCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="dailyCountJob"/>
<property name="group" value="DailyJobsTriggers"/>
<property name="cronExpression" value="${sched1}"/>
</bean>
<bean id="schedProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:ex.properties" />
</bean>
<bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
<property name="environment">
<bean class="org.springframework.web.context.support.StandardServletEnvironment"/>
</property>
</bean>
файл "ex.properties":
sched1=0/4 * * * * ?
место нахождения "ex.properties": SRC/главная/ресурсы/ex.properties
CurrencyAddJob.java: раствор 1:
try {
FileInputStream in = new FileInputStream("ex.properties");
Properties props = new Properties();
props.load(in);
in.close();
FileOutputStream out = new FileOutputStream("ex.properties");
props.setProperty("sched1", "0/1 * * * * ?");
props.store(out, null);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
Там это исключение ловится:
java.io.FileNotFoundException: ex.properties (система не может найти указанный файл)
CurrencyAddJob.java: раствор 2:
try {
FileInputStream in = new FileInputStream("C:\Users\Honorius\Desktop\workspace\honoriusProject\src\main\resources\ex.properties");
Properties props = new Properties();
props.load(in);
in.close();
FileOutputStream out = new FileOutputStream("C:\Users\Honorius\Desktop\workspace\honoriusProject\src\main\resources\ex.properties");
props.setProperty("sched1", "0/1 * * * * ?");
props.store(out, null);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
Там это исключение ловится:
java.io.FileNotFoundException: ex.properties (система не может найти указанный файл)
CurrencyAddJob.java: раствор 3:
try {
FileInputStream in = new FileInputStream(new File("ex.properties").getAbsolutePath());
Properties props = new Properties();
props.load(in);
in.close();
FileOutputStream out = new FileOutputStream(new File("ex.properties").getAbsolutePath());
props.setProperty("sched1", "0/1 * * * * ?");
props.store(out, null);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
Там это исключение перехватывается :
java.io.FileNotFoundException: ex.properties (Система не может найти указанный файл)
Я также изменил каталог «ex.properties», но я не мог избавиться от исключения
Есть ли альтернативное решение? Любой совет будет очень благодарен.
попробовать этот ответ http://stackoverflow.com/a/22097153/3037869 – seti
Backslash в строковых констант нужно экранировать. Напишите '' C: \\ Users \\ Honorius \\ Desktop \\ workspace \\ ... "' вместо '' C: \ Users \ Honorius \ ... "'. – Jesper
@ Jesper, вы правы. Я написал как двойной обратный слэш. В то время как сообщение здесь, я написал одну обратную косую черту. Но это не сработало. – honorius03