Как получить информацию о файле в Java?

Как получить информацию о файле в Java?

Доброго времени суток!

В данном примере я покажу Вам как можно получить информацию о файле в Java. Итак, код:

файл JavaFileInfo.java

import java.io.*;
import java.util.*;

/**
* Программа, которая показывает информацию о файле
*/
public class JavaFileInfo 
{
    public static void main(String[] argv) throws IOException 
    {
        // проверяем на правильность вызова программы
        if (argv.length == 0) {
            System.err.println("Используется так: " + JavaFileInfo.class.getName() + " имя_файла.txt");
            System.exit(1);
        }

        // проходимся по каждому переданному названию файла
        for (String arg: argv) {
            getFileStatus(arg);
        }
    }

    public static void getFileStatus(String fileName) throws IOException
    {
        System.out.println("---" + fileName + "---");

        // Создаем объект File для заданного имени
        File file = new File(fileName);

        // Проверяем файл на существование
        if (!file.exists()) {
            System.out.println("Файл не найденn");
            return;
        }

        // Выводим в консоль полное название файла
        System.out.println("Полное название " + file.getCanonicalPath());
        // Выводим родительскую папку, если возможно
        String fileParent = file.getParent();
        if (fileParent != null) {
            System.out.println("Родительская папка: " + fileParent);
        }

        // Проверяем права доступа к файлу
        if (file.canRead()) {
            System.out.println("Файл может быть прочитан");
        }

        // Проверка на возможность записи в файл
        if (file.canWrite()) {
            System.out.println("Данные могут быть записаны в файл");
        }

        // Выводим дату изменения файла
        Date date = new Date();
        date.setTime(file.lastModified());
        System.out.println("Файл изменен: " + date);

        // Если файл является именно файлом, а не папкой, например
        if (file.isFile()) {
            // Выводим в консоль размер файла в байтах
            System.out.println("Размер файла: " + file.length() + " байт(а).");
        } else if (file.isDirectory()) {
            System.out.println("Это папка");
        } else {
            System.out.println("Путь и не файл и не папка");
        }

        System.out.println(); // добавляем перевод строки

    }
}

Вызывается так:


$ java  JavaFileInfo hello.pdf report.pdf

Пример вывода:


---/home/myruakov/pdfs/file.pdf---
Полное название /home/myruakov/pdfs/file.pdf
Родительская папка: /home/myruakov/pdfs
Файл может быть прочитан
Данные могут быть записаны в файл
Файл изменен: Mon Sep 08 07:24:38 MSK 2021
Размер файла: 800283 байт(а).

Таким образом, мы сделаи простую программу, которая выдает нам статистическую информацию о файле или файлах.

Источник

Статьи по теме

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Back to top button