Как прочитать файл конфигурации, используя абсолютный путь?

1

У меня есть файл конфигурации, из которого я должен прочитать некоторые свойства. Этот файл конфигурации существует в разных местах, но имеет одно и то же имя. Я могу прочитать файл конфигурации, но только один из моего проекта. Я использовал следующий код:

Properties prop = new Properties();
    String propFileName = "config.properties";


    InputStream inputStream = getClass().getClassLoader().getResourceAsStream(propFileName);

    try {
        prop.load(inputStream);
    } catch (IOException e2) {
        // TODO Auto-generated catch block
        e2.printStackTrace();
    }
    if (inputStream == null) {
        try {
            throw new FileNotFoundException("property file '" + propFileName + "' not found in the classpath");
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

Мне нужно открыть файл конфигурации, используя полный путь, а вместо propFileName = "config.properties", чтобы вставить абсолютный путь в файл конфигурации. Невозможно открыть конфигурационный файл, если я использую абсолютный путь. Как это может быть сделано?

  • 0
    Использование абсолютного пути для доступа к файлу, как правило, не очень хорошая идея.
  • 0
    Да, но в моем случае я должен сделать это .... это обязательно
Показать ещё 3 комментария
Теги:
plugins
eclipse-plugin
eclipse-rcp

2 ответа

1
Лучший ответ
InputStream inputStream = new FileInputStream("path");

откроет файл с абсолютным путем.

Примечание. Это будет работать только для файла, это не сработает для чего-либо, включенного в плагин.

2

Вы можете использовать FileInputStream для поиска файла конфигурации вне вашего пути к проекту.

Properties prop = new Properties();
InputStream input = new FileInputStream("/home/ubuntu/Desktop/sample.properties");
prop.load(input);
System.out.println(prop.get("test"));

При указании пути нам нужно указать имя файла с расширением.

  • 0
    Как файл, который вы открыли, был вставлен в объект Properties в вашем коде?
  • 0
    @tddmonkey Извините, я пропустил линию. Теперь я добавил это. Спасибо за указание на это. +1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню