Java добавление весенней загрузки json файл - PullRequest
1 голос
/ 04 августа 2020

Я новичок в Java, как мне указать коду читать файл из текущего места, где находится банка?

Я пробовал

private static String getRunningFolder(){
    try {
        String result = new File(Main.class.getProtectionDomain().getCodeSource().getLocation()
                .toURI()).getPath();
        result = result.replace("/classes", "");
        return result;
    } catch (Exception ex){
        System.out.println(ex);
        return "";
    }
}

, но это работает только при отладке в IDE - не из cmd: java -jar

1 Ответ

0 голосов
/ 04 августа 2020

Системное свойство - user.dir возвращает текущее местоположение, из которого вызывается JVM.

Попробуйте следующее:

private static String getRunningFolder(){
    String result = System.getProperty("user.dir").replace("\\", "/");
    result = result.replace("/classes", "");
    return result;
}

Это будет работать для всех случаев, таких как запуск кода из jar или IDE .

Примечание: если вы хотите прочитать файл из текущего местоположения, поместите банку и файл в тот же каталог.

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