Я должен указать, что этот код выполняется в IBM JDK 7. Следующая строка кода генерирует исключение FileNotFound.FileInputStream java.io.FileNotFoundException
properties.load(new FileInputStream("/myApp/properties/props.properties"));
Такая же строка кода отлично работает на компьютерах моих коллег. По какой-то причине на их машинах есть неявный C:
, который предполагается перед этим путем, что и должно произойти на моем компьютере. Мы объединили свои головы, но не нашли решения проблемы.
Когда я запускаю эту линию
properties.load(new FileInputStream("C:\\myApp\\properties\\props.properties"));
Он отлично работает и не выдает ошибку. Как вы видите, я специально поставил C:
в путь. Как я могу получить первую строку кода, чтобы предположить, что существует неявный C:
?
Вы говорите, что на компьютере ваших коллег Windows строка 'new FileInputStream («/myApp/properties/props.properties »)' фактически загружает файл 'C: \ myApp \ properties \ props.properties'? Это было бы странно. – Tunaki
Вы должны использовать 'getResourceAsStream()' вместо абсолютных путей, подобных этому. – Kayaman
Как вы начинаете свою программу? является текущим рабочим каталогом на диске C? – Henry