Как сохранить / отредактировать файл с помощью BufferedWriter, используя относительный путь?[Java 8] - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь сохранить файл JSON, используя BufferedWriter в Java.Я хочу сохранить файл, используя относительный путь: использование абсолютного пути не создает проблем, но это не то, что я хочу.Я искал решение, но у меня ничего не получалось.Вот моя структура папок:

main
|-java
| |-it
|   |-project
|     |-controllers
|       |-pages
|         |-myClass.java
|-webapp
| |-docroot
|   |-myFile.json

Логика внутри myClass.java .Как я уже сказал, работает абсолютный путь:

Path path = Paths.get("/Users/user.name/Documents/Projects/path/to/project/src/main/webapp/docroot/myFile.json");

    try (BufferedWriter writer = Files.newBufferedWriter(path))
    {
        writer.write(jsonArray.toString());
    }
    catch (IOException e)
    {
        log.info("IOException");
    }

Где jsonArray - это объект JSONArray.

Я хочу изменить переменную пути, используя относительный путь.Все мои тесты дают мне

java.nio.file.NoSuchFileException: docroot / myFile.json

Я пробовал с

Path path = Paths.get("docroot/myFile.json");

Или используячто-то вроде ../docroot/myFile.json.Ничто не сработало для меня.Я не нашел решения в других подобных вопросах.

Спасибо

1 Ответ

0 голосов
/ 30 апреля 2019

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

main
|-resource
| |-it
|   |-project
|     |-controllers
|       |-pages
|          |-docroot
|             |-myFile.json

и Paths.get(getClass().getResource("docroot/myFile.json"))

...