文件名格式匹配器

时间:2011-03-26 01:14:59

标签: java jsp

你能帮帮我吗?我在文件夹中有几个文件,格式为

SNS20110201.A001
SNS201102.A001
SNS20110201.A003
SNS201102.A003

我需要根据文件格式显示这些文件,例如:

SNSYYYYMMDD.A001
SNSYYYYMMDD.A003

在UI中的一个div下

SNSYYYYMM.A001
SNSYYYYMM.A003

在同一个jsp页面的UI中的另一个div下。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果日期格式之前的字母总是相同(或者字母数相同),并且文件扩展名的长度始终相同,那么只需按文件名长度将文件排序为每个长度的一个数组,然后每个div迭代一个数组。

答案 1 :(得分:0)

此regexp文件过滤器是否解决了问题的核心?

File[] yyyymmddFiles = folder.listFiles(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.matches("^SNS\\d{8}.A\\d+$");
    }
});

File[] yyyymmFiles = folder.listFiles(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.matches("^SNS\\d{6}.A\\d+$");
    }
});