Ошибка при загрузке файла свойств

Я получаю сообщение об ошибке при загрузке файла свойств. Я получаю следующую ошибку: java.io.FileNotFoundException: neosEntitelment.properties (Система не может

find the file specified)
        at java.io.FileInputStream.open0(FileInputStream.java)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:93)
        at noes.Entitelment.CreateProperties.<init>(CreateProperties.java:45)
        at noes.Entitelment.NeosDatabase.oracleJdbcConnection(NeosDatabase.java:68)
        at noes.Entitelment.NeosDatabase.getDataByDB(NeosDatabase.java:20)
        at noes.Entitelment.SoapWebService.getEntitelmentDetails(SoapWebService.java:254)
        at noes.Entitelment.Entitelment.doGet(Entitelment.java:27)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
        at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:110)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)

Структура проекта:

Project
    -src
    -neosEntitelment.properties

Вот мой код

Properties prop = new Properties();
prop.load(new FileInputStream("neosEntitelment.properties"));
setNeoJdbcConnectionUrl(prop.getProperty("neo.jdbc.connection.url"));
setNeoUserName(prop.getProperty("neo.db.userName"));
setNeoPassword(prop.getProperty("neo.db.password"));

person balvinder singh    schedule 19.06.2017    source источник
comment
Вы запускаете это в eclipse или любой другой среде IDE или через командную строку?   -  person anacron    schedule 19.06.2017
comment
попробуйте поместить это в цитаты. prop.load(new FileInputStream("neosEntitelment.properties"));   -  person kism3t    schedule 19.06.2017
comment
@Anacron - Да, я запускаю это на Eclipse с java 1.8   -  person balvinder singh    schedule 19.06.2017
comment
@ kism3t - Пытался, но не запустился, та же ошибка   -  person balvinder singh    schedule 19.06.2017
comment
Правильно ли написано имя файла? neosEntit el ment.properties - должно ли это быть neosEntit le ment.properties? Проверьте и имя файла, и код java :)   -  person anacron    schedule 19.06.2017
comment
@ anacron - Имя написано правильно (я написал neosEntitelment во всех местах)   -  person balvinder singh    schedule 19.06.2017
comment
У меня работает тот же код и та же файловая структура. У меня такая же ошибка возникла при несоответствии имени файла ..   -  person anacron    schedule 19.06.2017
comment
@ anacron- Что я могу сказать сейчас ...... У меня все еще не работает :(   -  person balvinder singh    schedule 19.06.2017
comment
При очистке и запуске tomcat появляется ошибка выше в моем вопросе   -  person balvinder singh    schedule 19.06.2017
comment
Подсказка: зарегистрируйте (или распечатайте) new File(".").getCanonicalPath(), чтобы вы могли видеть, какой у вас рабочий каталог ... затем подумайте, что вы пытаетесь загрузить относительный файл оттуда.   -  person Jon Skeet    schedule 19.06.2017
comment
@ JonSkeet- getCanonicalPath - это «C: \ Users \ bs185227 \ Desktop», но мой файл свойств находится в «C: \ Users \ bs185227 \ Desktop \ NCR \ Workspace \ Workspace_Neon \ NEOEntitelmentData». Не могли бы вы подсказать, что мне теперь делать ....   -  person balvinder singh    schedule 19.06.2017


Ответы (2)


Я предлагаю вам использовать "getClass.getResourceAsStream ('/ neosEntitelment.properties')"

person kui.z    schedule 19.06.2017
comment
Спасибо за вашу помощь, я только что использовал ----- prop.load (new FileInputStream (new File (getClass (). GetResource (/neosEntitelment.properties) .toURI ()))); ----- и моя проблема решена. - person balvinder singh; 19.06.2017
comment
Можете ли вы предложить, это также будет работать, когда я сделаю банку из этого и вынесу файл свойств за пределы проекта ??? - person balvinder singh; 19.06.2017
comment
Зачем создавать новый файл и FileInputStream? getResourceAsStream () уже возвращает поток. Кроме того, да, он будет работать после того, как он будет упакован в jar, если вы включите файл при компиляции. - person Alvin L-B; 19.06.2017
comment
Элвин: Я хочу поместить этот файл свойств за пределы моего проекта, чтобы я мог легко вносить изменения, когда это необходимо. В таком случае, какие изменения я должен внести ... - person balvinder singh; 19.06.2017

Поместите файл neosEntitelment.properties в каталог src.

person MeYJ    schedule 19.06.2017
comment
Не удается найти решение, поместив файл neosEntitelment.properties в каталог src - person balvinder singh; 19.06.2017