Шаг 106.
Язык программирования Java.
Класс Files

На этом шаге мы начнем говорить про класс Files

В данном шаге мы поговорим про класс Files. Назначение данного класса - упростить работу с файлами и директориями. Данный класс содержит только статические функции, которые чаще всего принимают путь до рассматриваемого объекта (файл или директория).

Начнем с изучения функций проверки существования файла или директории:


Приведем ниже пример программы, в которой используются рассмотренные выше функции.


import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        String fileName = "";

        /*Проверяем наличие файл tmp.txt в папке проекта*/
        Path pathExist = Paths.get("tmp.txt");
        fileName = pathExist.getFileName().toString();
        if (Files.exists(pathExist)) {
            System.out.println("Файл " + fileName + " существует");
        } else {
            System.out.println("Файл " + fileName + " не существует");
        }

        /*Проверяем отсутствие файла exist.txt в папке проекта*/
        Path pathNotExist = Paths.get("exist.txt");
        fileName = pathNotExist.getFileName().toString();
        if (Files.notExists(pathNotExist)) {
            System.out.println("Файл " + fileName + " не существует");
        } else {
            System.out.println("Файл " + fileName + " существует");
        }

        /*Проверяем указывают ли pathExist и sameFile на один и тот же файл*/
        Path sameFile = Paths.get("../pr106_1/tmp.txt");
        if (Files.isSameFile(pathExist, sameFile)) {
           System.out.println("sameFile и pathExist указывают на один и тот же файл");
        } else {
           System.out.println("sameFile и pathExist указывают на разные файлы");
        }
    }
}

Проект можно взять здесь


Рис. 1. Вывод программы

Обратим внимание на функцию isSameFile(). Данная функция также находится в классе Files и она проверяет на то, что два объекта типа Path указывают на один и тот же объект. Возвращает true если указывают на один объект, и false в противном случае. Если какой-то из аргументов этой функции будет указывать на несуществующий объект, то будет брошено исключение.


На следующем шаге мы продолжим изучение класса Files

Предыдущий шаг Содержание Следующий шаг