2011-03-26 2 views
0

Не могли бы вы помочь мне? У меня есть несколько файлов в папке с форматамиСоединитель формата имени файла

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

Мне нужно, чтобы отобразить эти файлы на основе формата файла, например:

SNSYYYYMMDD.A001 
SNSYYYYMMDD.A003 

Под один DIV в UI

SNSYYYYMM.A001 
SNSYYYYMM.A003 

Под другим div в пользовательском интерфейсе на той же странице jsp.

Любые идеи?

ответ

1

Если буквы перед форматом даты всегда совпадают (или одинаковое количество букв), а расширение файла всегда одинаковой длины, то просто сортируйте файлы по длине имени файла в один массив для каждой длины, затем перебираем один массив на div.

0

Этот фильтр регулярных выражений является основной причиной проблемы?

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+$"); 
    } 
}); 
Смежные вопросы