我必须使用java根据文件的时间戳从hdfs文件夹中过滤文件列表。例子:
File TimeStamp File1 22nd January 2015 File2 21st January 2015 File3 20th January 2015
考虑到上面的例子,我必须得到一个在 20th January 2015 以及 21st January 2015 . 这将是:
20th January 2015
21st January 2015
File2 File3
如何在java中实现这一点?
7vux5j2d1#
您可以使用类似的代码以字符串的形式获取文件创建时间,或者根据需要转换为另一个对象(如果要对hdfs文件执行操作,则需要获取hdfs path对象)
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文档和教程。
dl5txlt92#
对基于filestatus的getmodificationtime方法进行过滤的pathfilter示例使用liststatus。
2条答案
按热度按时间7vux5j2d1#
您可以使用类似的代码以字符串的形式获取文件创建时间,或者根据需要转换为另一个对象(如果要对hdfs文件执行操作,则需要获取hdfs path对象)
有关管理元数据、基本文件属性和文件时间的更多信息,请参阅这些java文档和教程。
dl5txlt92#
对基于filestatus的getmodificationtime方法进行过滤的pathfilter示例使用liststatus。