Java 显示从开始日期到结束日期的日志文件名

Java 显示从开始日期到结束日期的日志文件名,java,Java,我需要在文件夹中显示日志文件,该文件夹在文件名后附加了日期和时间,从特定的开始日期到特定的结束日期。我该怎么做 请帮助。您需要从日志目录中获取文件 File folder = new File("your/path"); File[] listOfFiles = folder.listFiles(); 上面的内容将为您提供所有文件,但是为了满足您的期望,您可以使用这些文件。现在的清单代码是: File[] listOfFiles = folder.listFiles(myF

我需要在文件夹中显示日志文件,该文件夹在文件名后附加了日期和时间,从特定的开始日期到特定的结束日期。我该怎么做
请帮助。

您需要从日志目录中获取文件

File folder = new File("your/path");
File[] listOfFiles = folder.listFiles();
上面的内容将为您提供所有文件,但是为了满足您的期望,您可以使用这些文件。现在的清单代码是:

File[] listOfFiles = folder.listFiles(myFileFilterObject);
在文件过滤器
accept
API中,您定义了根据日期时间范围过滤文件的逻辑。
或者,如果您擅长正则表达式,那么使用Apache commons
RegexFileFilter

您需要迭代包含日志的文件夹中的文件列表,过滤掉给定日期时间范围之外的任何文件;另一位回答者也指出,这听起来很像API的工作:

File folder = new File("your/path");
File[] listOfFiles = folder.listFiles(myFileFilterObject);
现在的问题是对过滤器的accept方法进行编码

  • 如果您想要一个快速而肮脏的解决方案,您可以使用
    String.CompareTo
    来利用简单的字符串比较(这需要将日志文件的格式设置为年份,然后是月份作为数字,然后是日期,最后是时间)

  • 如果您熟悉正则表达式,您可以重用ApacheCommons'
    RegexFileFilter
    ,但是您必须这样做

  • 或者,您可以通过提取文件名的相关部分并比较以下所述的日期,以“正确”的方式(尽管对于您的特定目的来说,这可能过于繁重):

  • 具有和方法,并且可以

    你也可以试一试

    如何验证今天的日期是否介于日期1和日期3之间


    你能提供文件名应该是什么样子的线索吗?你可以使用字符串#compareTo来比较两个边界的文件名。LOG'BLK15_WP8_rev1'625'2014-09-15_17-08-05.130'WP8-BW05_RtHp'CW'3182713.xml在上面的文件名2014-09-15中,{yyyyy-mm dd)是日期,17-08-05(hh-mm ss)是时候了,请帮我解决这个问题program@user4268406您的日志格式正确,可以使#1正常工作。请向我们展示您的代码。
    if(todayDate.after(historyDate) && todayDate.before(futureDate)) {
        // In between
    }