2016-01-22 66 views
-1

我必須根據使用java的時間戳來從hdfs文件夾中篩選文件列表。在java中獲取基於時間戳的HDFS文件

例子:

File TimeStamp 

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

考慮上面的例子,我一定要得到它被20th January 201521st 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); 

看看這些Java文檔和教程以獲取更多信息Managing MetadataBasicFileAttributesFileTime

1

使用listStatusPathFilter實例,該實例基於FileStatus的getModificationTime方法進行過濾。

+0

你可以提供示例代碼嗎?這些信息對我很有用,但我有點混淆,如何使用它我的實際代碼。 – Shashi