Java - Универсальный путь к файлу

184
05 сентября 2017, 09:01

У меня есть файл cars.csv, как задать универсальный путь к этому файлу, чтобы с каждого компьютера компилятор его видел? Использовал такой способ:

getClass().getClassLoader().getResource(FILE_NAME).getFile()

Но хочу узнать существует ли что-то практичнее?

Answer 1

Обычно используется специальная директория, называется ресурсы

пример использования

Если создается мавен проект, то структура проекта уже будет содержать директории для тестов и ресурсов.

Второй вариант, задавать относительный путь, относительно точки вызова программы:

Path path = Paths.get("/someFile.csv");
Answer 2

Добавь к проекту библиотеку https://commons.apache.org/proper/commons-lang/download_lang.cgi

private final static String APP_HOME = "Имя директории";
private final static String FILE_NAME = "cars.csv";
private static String getAppHome() {
    if (SystemUtils.IS_OS_WINDOWS) {
        return System.getenv("APPDATA") + "/" + APP_HOME + "/" + FILE_NAME;
    } else if (SystemUtils.IS_OS_LINUX) {
        return SystemUtils.USER_HOME + "/." + APP_HOME + "/" + FILE_NAME;
    } else if (SystemUtils.IS_OS_MAC) {
        return SystemUtils.USER_HOME + "/Library/Application Support/" + APP_HOME + "/" + FILE_NAME;
    }
    return SystemUtils.USER_HOME + "/." + APP_HOME + "/" + FILE_NAME;
}
READ ALSO
Есть приложение на IONIC. Как сделать условие?

Есть приложение на IONIC. Как сделать условие?

Как сделать условие if !logged в IONIC Framework? Например мне нужно, чтобы в приложении человек который не залогинен видел одну информацию, а именно...

184