Как указать путь к файлу java

Как указать путь к файлу java

В данной статье мы рассмотрим три примера формирования пути к файлу в Java, используя при этом разные приемы:

  1. File.separator или System.getProperty("file.separator") (Рекомендовано)
  2. File file = new File(workDir, filename) (Рекомендовано)
  3. Задание разделителя каталогов вручную (Не рекомендовано)

File.separator

Традиционный (и самый распространенный) способ формирования полного пути к файлу в мире Java — использование константы File.separator или вызов метода System.getProperty("file.separator") . Оба этих способа приводят к одному результату — будет возвращен правильный разделитель каталогов в зависимости от операционной системы:

Вывод данной программы будет примерно таким:

Использование конструктора new File()

Для получения полного пути к файлу можно воспользоваться конструктором класса File с двумя аргументами: путь к файлу и имя файла. После этого у вновь созданного объекта мы можем вызвать метод getAbsolutePath() , который вернет полный путь к файлу.

Вывод программы будет примерно таким:

Ручное указание разделителя каталогов

Исключительно в качестве развлечения для решения поставленной задачи можно использовать собственный алгоритм определения разделителя (очень не рекомендуется к применению):

Вывод программы на операционной системе Windows будет примерно таким:

Я создал Java-приложение для "Debian Linux". Теперь я хочу, чтобы это приложение читало файл, помещенный в каталог, в котором указан файл jar этого приложения. Итак, что указать при аргументе объекта File?

Что указать в качестве аргумента для вышеуказанного оператора указать относительный путь к файлу, представляющий путь, в который помещен файл jar приложения?

Если вы знаете имя файла, конечно, просто

Если вы не знаете имя, вы можете использовать список объектов File() метод, чтобы получить список файлов в текущем каталоге, а затем выбрать тот, который вы хотите.

Использование относительных путей в java.io.File полностью зависит от текущего рабочего каталога. Это отличается тем, как вы выполняете JAR. Если вы, например, находитесь в /foo , и вы выполняете JAR с помощью java -jar /bar/jar/Bar.jar , тогда рабочий каталог все еще /foo . Но если вы cd до /bar/jar и выполните java -jar Bar.jar , то рабочий каталог /bar/jar .

Читайте также:  Как определить полное ускорение

Если вам нужен корневой путь, где расположен JAR, один из способов:

Возвращает корневой путь JAR файла (то есть root). Если вы поместите свой ресурс относительно корня пути к классам, вы можете получить к нему доступ следующим образом:

В качестве альтернативы вы также можете просто использовать:

Конструкция
getClass().getResource("/").getPath()
выдаст полный путь до файла текущего класса. Можете использовать что-то вроде

Или сразу использовать
getResourceAsStream()

Ссылка на основную публикацию
Как узнать песню если не знаешь названия
Знакомая ситуация: в голове крутится одна и та же композиция, но вспомнить название, хоть убей, не получается? Лайфхакер поможет определить...
Как удалить повторяющиеся значения в столбце excel
Доброго времени суток! С популяризацией компьютеров за последние 10 лет — происходит и популяризация создания отчетов (документов) в программе Excel....
Как удалить поиск в windows 10
Привет ребята Значит если вам надоел процесс SearchUI.exe, то пора от него избавляться. Как остановить службу SearchUI.exe? Вот тут к...
Как узнать пишущий ли дисковод на компьютере
Использование дисководов в компьютерах – DVD и CD-ROM – все дальше отходят на второй план. Но работа с ними для...
Adblock detector