Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Куда подложить файл, чтобы он был виден / 6 сообщений из 6, страница 1 из 1
14.02.2018, 16:25
    #39601897
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда подложить файл, чтобы он был виден
Всем здравствуйте!

Не пойму в чем дело. Обычнейшее консольное приложение. Надо загрузить свойства из текстового файла:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    
    String propertiesFile = "conn.properties";

    // Загрузить свойства
    private void loadProperties() {
        Properties properties = new Properties();

        try(FileInputStream fis = new FileInputStream(propertiesFile)) {
            properties.load(fis);
            // Что-то делаем...
        }
        catch (IOException e){
            e.printStackTrace();
        }



Куда только не "укладывал" этот файл - пишет, что
авторjava.io.FileNotFoundException: conn.properties (Не удается найти указанный файл)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)


Спасибо!
IDEA Ultimate 64, Win7 Prof
...
Рейтинг: 0 / 0
14.02.2018, 16:28
    #39601901
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда подложить файл, чтобы он был виден
Код: java
1.
System.out.println(new File("conn.properties").getAbsolutePath());
...
Рейтинг: 0 / 0
14.02.2018, 16:40
    #39601915
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда подложить файл, чтобы он был виден
Blazkowicz,
Да, так можно. Работает. Спасибо. Но что если мне нужно хранить файл не по указанному пути, а, скажем, в каталоге resources?
...
Рейтинг: 0 / 0
14.02.2018, 16:48
    #39601921
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда подложить файл, чтобы он был виден
fplab,

каталог resources, обычно, подразумевает ресурсы внутри jar модуля. Такие ресурсы читают через Class/ClassLoader.getResourceAsStream(). Но их нельзя менять не перепаковывая jar. Поэтому в идеале то что конфигурируется в ресурсах, в хорошем приложении можно переопределить внешним файлом.

А если у вас там соединение с БД, то вы вообще всё делаете не так :D
...
Рейтинг: 0 / 0
14.02.2018, 16:56
    #39601930
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда подложить файл, чтобы он был виден
Blazkowicz,
Нет, не соединение. Несколько текстовых данных, которые не хочу зашивать в код. Для БД использую либо persistence.xml, либо конфигурирую Spring.
...
Рейтинг: 0 / 0
15.02.2018, 17:03
    #39602519
fplab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда подложить файл, чтобы он был виден
Сделал пока так:

Код: java
1.
2.
3.
4.
...
URL fileUrl = Thread.currentThread().getContextClassLoader().getResource("properties");
String filePath = fileUrl.getPath();
...



Теперь читает из resources
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Куда подложить файл, чтобы он был виден / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]