Создайте экземпляр файла, используя значение свойства в файле свойств - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь создать экземпляр файла для анализа html-записей по значению свойства.проблема заключается в URL файла, который я должен поместить в свойствах файла, вот мой пример:

enter image description here

код соответствия для чтения файла:

public void extraxtElementWithoutId() {
        Map<String,List<List<Element>>> uniciteIds = new HashMap<String,List<List<Element>>>();
        FileReader fileReader = null;
        Document doc = null;
        try {
            fileReader = new FileReader(new ClassPathResource(FILEPROPERTYNAME).getFile());
            Properties prop = new Properties();
            prop.load(fileReader);
            Enumeration<?> enumeration = prop.propertyNames();
            List<List<Element>> fiinalReturn = null;
            while (enumeration.hasMoreElements()) {
                String path = (String) enumeration.nextElement();
                System.out.println("Fichier en question : " + prop.getProperty(path));
                URL url = getClass().getResource(prop.getProperty(path));
                System.out.println(url.getPath());
                File inputFile = new File(url.getPath());
                doc = Jsoup.parse(inputFile, "UTF-8");
                //fiinalReturn = getListofElements(doc);
                //System.out.println(fiinalReturn);
                fiinalReturn = uniciteIds.put("Duplicat Id", getUnicityIds(doc));
                System.out.println(fiinalReturn);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try{
                fileReader.close();
            }catch(Exception e) {
                e.printStackTrace();
            }
        }
    }

Заранее спасибо, С наилучшими пожеланиями.

1 Ответ

0 голосов
/ 22 октября 2018

Вы делаете очень распространенную ошибку для строки -

URL url = getClass().getResource(prop.getProperty(path));

Попробуйте со значением свойства как (удалив src ) - /testHtmlFile/test.html и т. Д.на.Не меняйте код.

UrlEnterer1 = / testHtmlFile / test.html вместо того, чтобы предшествовать src .

prop.getProperty(path) должно соответствовать вашему пути сборкидля файла.Проверьте каталог сборки, как хранятся эти файлы.Они хранятся не в src, а непосредственно в директории сборки.

Этот ответ объясняет немного о значении пути для чтения файла из пути к классу.

Также, в качестве примечания (не связанного с вопросом), попробуйте не делать prop.getProperty(path), а напрямую вводить значение свойства в ваш класс с помощью аннотации org.springframework.beans.factory.annotation.Value.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...