Управление директориями и путями

Ввод/вывод и потоки в Java

Alex Liu

Software Developer Engineer

Ключевые понятия

  • Директории организуют файлы и данные
  • Пути указывают расположение файлов и директорий
  • Класс File может представлять файл или директорию
    • Тип создаваемого ресурса зависит от вызванного метода (mkdir() — для директорий, createNewFile() — для файлов)

Монитор компьютера с несколькими значками директорий

Ввод/вывод и потоки в Java

Создание директорий

  • Импортируйте класс File
    import java.io.File;
    
  • Создайте объект File, представляющий директорию
    File newDirectory = new File("myDirectory");
    
  • .mkdir() создаёт директорию в файловой системе
    boolean created = newDirectory.mkdir();
    
  • Возвращает true, если директория успешно создана
  • Возвращает false, если директория уже существует или не может быть создана
Ввод/вывод и потоки в Java

Получение списка файлов в директории

  • Используйте .listFiles() для получения списка файлов в директории

$$

// Creates a `File` object representing the directory `myDirectory`
File dir = new File("myDirectory");
//Retrieves an `array` of `File` objects representing the contents of `myDirectory`
File[] files = dir.listFiles();
  • Возвращает массив (array) объектов File, если директория существует
  • Возвращает null, если директория не существует
Ввод/вывод и потоки в Java

Получение относительного пути к файлу

  • Относительный путь: расположение файла или директории относительно текущей рабочей директории
// Creates a `File` object for `sample.txt` inside `myDirectory`
File file = new File("myDirectory/sample.txt");
// Retrieves the relative path of the file as a String
String path = file.getPath();
System.out.println(path);
  • Предполагается, что myDirectory уже существует; иначе создание файла или запись завершатся ошибкой

  • Вывод:

    myDirectory/sample.txt
    
Ввод/вывод и потоки в Java

Работа с абсолютными путями

  • Абсолютный путь: полный путь от корня файловой системы

$$

// Creates a `File` object for `sample.txt` inside `myDirectory`
File file = new File("myDirectory/sample.txt");
// Retrieves the absolute path of the file as a String
String absPath = file.getAbsolutePath();
System.out.println(absPath);
  • Вывод:
/user/home/myDirectory/sample.txt
Ввод/вывод и потоки в Java

Давайте потренируемся!

Ввод/вывод и потоки в Java

Preparing Video For Download...