Как получить информацию о файле в 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 байт(а).
Таким образом, мы сделаи простую программу, которая выдает нам статистическую информацию о файле или файлах.
-
- Николай
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.