2016-01-22 2 views
-1

Мне нужно отфильтровать список файлов из папки hdfs на основе их метки времени с помощью java.Получить файлы HDFS на основе метки времени в java

Пример:

File TimeStamp 

File1 22nd January 2015 
File2 21st January 2015 
File3 20th January 2015 

Учитывая выше примере, я должен получить список файлов, которые были созданы между 20th January 2015 и 21st January 2015. Который будет:

File2 
File3 

Как я могу это сделать в Java?

+0

что вы наделали? –

+0

Используйте метод File.lastModified(). – DevilsHnd

ответ

-1

Вы можете использовать код, похожий на этот код, чтобы получить время создания файла в виде строки или скрытого в другой объект, если хотите (вам нужно получить объект пути HDFS, если вы хотите выполнять операции над файлами HDFS)

Path file = FileSystems.getDefault().getPath(".", "filename"); 
    BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class); 

    System.out.println("creationTime: " + attr.creationTime()); 

    FileTime creationDate = attr.creationTime(); 
    SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
    String dateCreated = df.format(creationDate.toMillis()); 
    System.out.println(dateCreated); 

Посмотрите на эти ява документы и учебные пособия для получения дополнительной информации Managing Metadata, BasicFileAttributes и FileTime.

1

Используйте listStatus с экземпляром PathFilter, который фильтрует на основе метода getModificationTime FileStatus.

+0

вы можете дать пример кода? Эта информация полезна для меня, но я немного запутался в том, как использовать ее в моем действительном коде. – Shashi

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