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

0

Как получить информацию о файле в 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 для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.