записать файл в определенную папку с относительным путем. При использовании wildfly - PullRequest
0 голосов
/ 23 января 2019

Я пишу этот файл, который я хотел бы поместить в определенную папку в проекте.Первая проблема заключается в том, что я использую wildfly, поэтому если я просто пишу.

FileWriter fileWriter = new FileWriter ("swagger.json"))

swagger.json записывается в папку с путем: C: \ wildfly-9.0.2.Final \ bin

Я хотел бы записать файл в папку с путем: C: \ Users \ Mall \ IdeaProjects \ jim \ jim-rest \ src \main \ webapp

Вторая проблема заключается в том, что файл должен относительно записываться в папку webapp.причина в том, что при запуске с другого компьютера пути wildfly и проекта будут отличаться от моих собственных.

Любые идеи Как мне справиться с этим?

При использовании кода:

String.format ("% s /% s", System.getProperty ("user.dir"), this.getClass (). GetPackage (). GetName (). Replace (".", "/ "));

Я получаю C: \ wildfly-9.0.2.Final \ bin / com / soal / jim

Ответы [ 3 ]

0 голосов
/ 29 января 2019

вы можете использовать следующий синтаксис, помня, что вы начинаете в папке / bin, следующий фрагмент создаст файл в / standalone / log

fileHandler = new FileHandler("./../standalone/log/BackgroundLogger.log");

, конечно, это рискованно для любой неизвестной структуры каталогов за пределамисам сервер, поэтому требуется обработка исключений.

0 голосов
/ 07 февраля 2019

Вы можете создать общий каталог и записать файл в этот каталог. Это сделает общий путь к каталогу постоянным для обоих приложений.

Путь будет выглядеть как /SomeMachineName/MY_FOLDER, и в обоих приложениях вы можете использовать один и тот же путь.

0 голосов
/ 24 января 2019

Я предполагаю, что это не для производства.Учитывая это предположение, вероятно, было бы лучше просто попросить его указать, где сохранить файл, а не пытаться угадать, где его сохранить.

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