Как получить относительный путь из файла - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь получить относительный путь для файла, но безуспешно. Абсолютный путь: «/ Users / dev / Documents / projects / testService / src / main / resources / response.xml».После развертывания кода я получаю исключение java.io.FileNotFoundException: (нет такого файла или каталога).

Не могли бы вы мне помочь?Спасибо

0

Код выглядит следующим образом:

 try {
        XMLInputFactory xif = XMLInputFactory.newFactory();
        XMLStreamReader xsr = xif.createXMLStreamReader(new FileReader("src/main/resources/response.xml"));


        while(xsr.hasNext()) {
            xsr.next();
            if (xsr.getEventType() == XMLStreamConstants.START_DOCUMENT || xsr.getEventType() == XMLStreamConstants.END_DOCUMENT ||xsr.isCharacters() == true || xsr.hasText() == true || xsr.getEventType() == XMLEvent.END_ELEMENT)
                continue;
            QName name = xsr.getName();
            int index = name.toString().indexOf('}');
            String aa = name.toString().substring(index+1);

         if (xsr.isStartElement() && aa.contains("Bonitae"))
               break;
        }

        jaxbContext = JAXBContext.newInstance(Customer.class);
        Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
        response = unmarshaller.unmarshal(xsr, Customer.class);    
    }

На моем локальном компьютере все работает нормально.Я развернул проект, используя банку.

1 Ответ

0 голосов
/ 25 марта 2019

Вы можете использовать следующее для получения InputStream:

XMLInputFactory xif = XMLInputFactory.newFactory();
InputStream in =  Main.class.getResourceAsStream("resources/response.xml");
XMLStreamReader xsr = xif.createXMLStreamReader(in);

Замените Main именем вашего класса

...