2015-02-26 2 views
0

Я пытаюсь получить последний доступ, и дату создания файла в Java, поэтому я использую NiO, но выход приходит в следующем формате:Java NIO объект преобразования даты

Last access time :: 2015-02-26T15:22:02.988862Z 
Creation time :: 2015-02-26T15:22:02.988862Z 
last modified time :: 2015-02-26T16:06:52.022666Z 

Есть в любом случае преобразовать их в объект Date или Calender, чтобы я мог получить правильный формат в качестве вывода?

Вот мой код,

package com.home.test; 

import java.io.File; 
import java.nio.file.Files; 
import java.nio.file.Path; 
import java.nio.file.attribute.BasicFileAttributes; 
import java.nio.file.attribute.FileTime; 

public class TestRun { 

    public static void main(String[] args) { 

     TestRun tr = new TestRun(); 
     tr.run(); 

    } 
    private void run() { 

     File file = new File("D:/Test_Folder/File1.txt"); 
     Path filPath = file.toPath(); 


     BasicFileAttributes attrib = null; 

     try { 
      SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss"); 

      attrib = Files.readAttributes(filPath, BasicFileAttributes.class); 


      System.out.println("Last access time :: "+attrib.lastAccessTime()); 
      System.out.println("Creation time :: "+attrib.creationTime()); 
      System.out.println("last modified time :: "+attrib.lastModifiedTime()); 


     } catch (Exception e) { 

      System.out.println("Error thrown"+e.toString()); 
     } 

    } 
} 

ответ

3

Ну, нет, отметки времени поступают в виде объекта FileTime. Вы получаете String изображений этих объектов, добавляя их к String s.

Эти объекты обертывают одно и то же представление основного времени (миллисекунды с эпохи) как объект Date или Calendar, поэтому, если вы хотите, да, вы можете получить один из них. Например:

Calendar atime = Calendar.newInstance(); 
atime.setTimeInMillis(attrib.lastAccessTime().toMillis()); 

Если вы хотели бы иметь его в виде Date, то вы можете перейти к

Date atimeAsDate = atime.getTime(); 
+0

Большое спасибо, Джон, я просто попробовал свой, его рабочий, :) – Dip

3

Эти методы возвращают FileTime значения. FileTime имеет метод toMillis, который возвращает свое значение в миллисекундах как long. Вы можете создать объект Date.

+0

Его работы, я просто попытался, я теперь получать требуемый формат , Большое спасибо – Dip

Смежные вопросы