Получение даты создания файла в Java

В Java нет официального способа получения даты создания файла. Однако, существуют приемы, с помощью которых можно решить эту задачу. Поскольку эти приемы основываются на вызове команд с использованием командной строки, то все они зависят от операционной системы, под управлением которой выполняется программа. В этой статье показан пример получения даты создания файла в Java для ОС семейства Windows.

Как это работает

Для получения даты создания файла необходимо выполнить команду: cmd /c dir [filename] /tc,  где вместо [filename] должен быть указан полный путь к файлу.

c:>cmd /c dir c:ProjectsJ4Web.RuSrcJavaIOGetFileCreationDateExample
myDocument.txt /tc
 Том в устройстве C не имеет метки.
 Серийный номер тома: 0E1C-9C09

 Содержимое папки c:ProjectsJ4Web.RuSrcJavaIOGetFileCreationDateExample

30.03.2015  14:05                13 myDocument.txt
               1 файлов             13 байт
               0 папок  548 280 434 688 байт свободно

c:>

Пример Java программы для ОС Windows

package ru.j4web.examples.java.io;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;

public class GetFileCreationDateExample {

    private static final String FILENAME = "c:\Projects\J4Web.Ru\Src\"
            + "JavaIO\GetFileCreationDateExample\myDocument.txt";
    
    public static void main(String[] args) {
        
        try {
            System.out.println("Полученеи даты и времени создания файла: "
                    + FILENAME);
            
            Process process = Runtime.getRuntime().exec("cmd /c dir "
                    + FILENAME + " /tc");
            BufferedReader br = new BufferedReader(
                    new InputStreamReader(process.getInputStream()));
            
            String extractedValue = "";
            for(int i = 0; i < 6; i++) {
                extractedValue = br.readLine();
            }
            
            System.out.println("Полученное значение: " + extractedValue);
            
            StringTokenizer st = new StringTokenizer(extractedValue);
            String dateOfCreation = st.nextToken();
            String timeOfCreation = st.nextToken();
            System.out.println("Дата создания файла: " + dateOfCreation);
            System.out.println("Время создания файла: " + timeOfCreation);
        } catch (IOException ex) {
            Logger.getLogger(GetFileCreationDateExample.class.getName())
                    .log(Level.SEVERE, null, ex);
        }
    }
}

Полезная информация

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*