Загрузка...

Пути в Java

Соберите Path через Paths.get, чтобы назвать место, не открывая файл. Откройте Route.java, вызовите Paths.get("note.txt") и выведите getFileName(). Скомпилируйте javac Route.java и запустите java Route. Экран должен показать note.txt. Вторая демо соединяет "docs" и "note.txt", печатает имя файла, затем родительскую папку. Третья печатает весь путь. Оставьте inheritance на следующую страницу.

Имя одного фрагмента файла

Страница записи сохраняла буквы через FileWriter и "note.txt". Здесь это имя становится Path, о котором можно спрашивать. Откройте Route.java. Держите публичный класс Route. Удалите лишние демо Store, сканеры Reader, throw Signal и клавиатурный Scanner. Программа не должна ждать ввод. Для этих демо не нужно создавать note.txt на диске.
Вверху оставьте:
import java.nio.file.Path;
import java.nio.file.Paths;
В main постройте путь из одного имени:
Path p = Paths.get("note.txt");
Печатайте только последнюю часть:
System.out.println(p.getFileName());
getFileName возвращает Path, который печатается как note.txt. Вы не пишете tea и не читаете oak — вы именуете.

Route getFileName note.txt

java
import java.nio.file.Path;
import java.nio.file.Paths;

public class Route {
    public static void main(String[] args) {
        Path p = Paths.get("note.txt");
        System.out.println(p.getFileName());
    }
}

В папке с Route.java выполните javac Route.java. Затем java Route, не java Route.java. Если нет Path или Paths, проверьте imports.
Экран показывает note.txt. Без паузы на клавиатуру. Пустой терминал: возможно, ещё java Store без println. tea или oak — смешение записи/чтения. blocked или after — остатки Guard.
Ход: Route.main, Paths.get("note.txt"), getFileName, println. На диске ничего не открывается.

Соединить папку и имя файла

Вторая программа строит путь из docs, затем note.txt. Сначала имя файла, потом getParent.

Route docs plus note.txt name and parent

java
import java.nio.file.Path;
import java.nio.file.Paths;

public class Route {
    public static void main(String[] args) {
        Path p = Paths.get("docs", "note.txt");
        System.out.println(p.getFileName());
        System.out.println(p.getParent());
    }
}

Скомпилируйте javac Route.java, запустите java Route. Первая строка note.txt. Вторая docs. getFileName — последний фрагмент. getParent — папка выше. Не путайте роли.
Paths.get с несколькими строками склеивает по порядку. Разделитель вручную не вводите. Путь сам не создаёт папку или файл. Именование отдельно от записи и чтения.
Для одного "note.txt" getParent может быть null. Демо из двух частей показывает docs.

Печать всего соединённого пути

Третья программа держит Paths.get("docs", "note.txt") и печатает объект пути.

Route print joined path

java
import java.nio.file.Path;
import java.nio.file.Paths;

public class Route {
    public static void main(String[] args) {
        Path p = Paths.get("docs", "note.txt");
        System.out.println(p);
    }
}

Снова компиляция и запуск. Экран показывает соединённый путь — часто docs\note.txt или docs/note.txt. Важно склеивание, не заучивание слэша. Для отдельных частей — getFileName и getParent.
Не придумывайте inheritance здесь. Следующая страница начнёт extends. Не вставляйте FileWriter в Route.java. Держите Store, Reader и Route раздельно.

Сравнение со Store и Reader

java Store писал в note.txt. java Reader читал с диска. java Route только именует через Path и Paths.get. Запускайте java Route для этих демо.
Новые токены: Paths.get, getFileName, getParent. Импортируйте java.nio.file.Path и java.nio.file.Paths. Без FileWriter и Scanner.

Что остаётся для inheritance

Эта страница именует пути. Следующая начинает inheritance. Оставайтесь с Paths.get и делением имя файла и родитель. Пока без extends в Route.

Перед inheritance

Вы можете собрать Paths.get("note.txt") и увидеть note.txt через getFileName. Можете соединить "docs" и "note.txt", увидеть note.txt, затем родителя docs. Можете напечатать путь одной строкой. javac Route.java и java Route для каждой демо. Следующая страница — inheritance.
Если на двухстрочной демо java Route покажет note.txt и docs, пути готовы и можно переходить к inheritance.

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
5
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху