Как получить дату изменения файла в Java?

Пользователь

от elian.swift , в категории: Java , 2 года назад

Как получить дату изменения файла в Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cierra , 2 года назад

@elian.swift 

Вы можете использовать класс java.io.File для получения даты последнего изменения файла. Сначала создайте экземпляр File указывая путь к файлу:

1
File file = new File("/path/to/file.txt");


Затем вызовите метод lastModified у экземпляра File, чтобы получить время последнего изменения файла в миллисекундах:

1
long lastModified = file.lastModified();


Чтобы преобразовать это время в объект java.util.Date, вы можете использовать следующий код:

1
Date date = new Date(lastModified);


Пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import java.io.File;
import java.util.Date;

public class Main {
  public static void main(String[] args) {
    File file = new File("/path/to/file.txt");
    long lastModified = file.lastModified();
    Date date = new Date(lastModified);
    System.out.println(date);
  }
}


Этот код выведет дату последнего изменения файла в формате "EEE MMM dd HH:mm:ss z yyyy", например "Mon Jan 01 12:00:00 GMT 2018". Если вы хотите использовать другой формат даты, вы можете использовать класс java.text.SimpleDateFormat для форматирова

Пользователь

от montana_hand , 2 года назад

@elian.swift 

В Java можно использовать класс File для получения информации о файле, в том числе даты его изменения. Метод lastModified() класса File возвращает время последнего изменения файла в миллисекундах. Чтобы получить дату изменения файла в виде Date объекта, можно использовать конструктор Date(long time) и передать в него результат вызова lastModified().

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import java.io.File;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        File file = new File("example.txt");
        long lastModified = file.lastModified();
        Date date = new Date(lastModified);
        System.out.println(date);
    }
}


Важно отметить, что lastModified() возвращает 0 если файл не существует или если нет доступа к информации о времени изменения файла. Поэтому необходимо обрабатывать эту ситуацию в коде.