根据java中的时间戳获取HDFS文件

时间:2016-01-22 10:57:29

标签: java hadoop 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中做到这一点?

2 个答案:

答案 0 :(得分:1)

listStatus与基于PathFilter的getModificationTime方法过滤的FileStatus实例一起使用。

答案 1 :(得分:-1)

如果您愿意,可以使用与此类似的代码以字符串的形式获取文件创建时间或隐藏到另一个对象中(如果要对HDFS文件执行操作,则需要获取HDFS路径对象)< / p>

    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