在java中基于时间戳获取HDFS文件
我必须使用java根据文件的时间戳从hdfs文件夹中筛选文件列表 例如:在java中基于时间戳获取HDFS文件,java,hadoop,hdfs,Java,Hadoop,Hdfs,我必须使用java根据文件的时间戳从hdfs文件夹中筛选文件列表 例如: File TimeStamp File1 22nd January 2015 File2 21st January 2015 File3 20th January 2015 考虑到上述示例,我必须获得一个文件列表,这些文件是在2015年1月20日至2015年1月21日期间创建的。 这将是: File2 File3 如何在java中实现这一点?您可以使用类似于此的代码以字符串的形式获取文件创建时间,或
File TimeStamp
File1 22nd January 2015
File2 21st January 2015
File3 20th January 2015
考虑到上述示例,我必须获得一个文件列表,这些文件是在2015年1月20日至2015年1月21日期间创建的。
这将是:
File2
File3
如何在java中实现这一点?您可以使用类似于此的代码以字符串的形式获取文件创建时间,或者根据需要转换为另一个对象(如果要对HDFS文件执行操作,则需要获取HDFS path对象)
查看这些java文档和教程以了解更多信息。使用基于的getModificationTime方法进行筛选的实例。您做了什么?使用File.lastModified()方法。您能给出示例代码吗?这些信息对我很有用,但我有点搞不清楚如何在实际代码中使用它。
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);