我必须根据使用java的时间戳来过滤hdfs文件夹中的文件列表。
示例:
File TimeStamp
File1 22nd January 2015
File2 21st January 2015
File3 20th January 2015
考虑到上面的示例,我必须获取在20th January 2015
和21st January 2015
之间创建的文件列表。
这将是:
File2
File3
我怎样才能在java中做到这一点?
答案 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 Metadata,BasicFileAttributes和FileTime。