我有一個「moreinfo
」目錄,其中有一些html文件和其他文件夾。我在moreinfo
目錄中搜索該文件(並在moreinfo
沒有子目錄)與文件的toolId*
.The名稱匹配是一樣toolId],更好的匹配字符串的正則表達式?
下面的代碼片段我如何寫它,如果基於廣域網卡過濾器(toolId*
)
我toolId = delegatedAccess
列表返回2文件(delegatedAccess.html & delegatedAccess.shopping.html
)是他們那個檢查,直到最後發生期間和返回恰好與相匹配的文件編寫正則表達式的一個更好的辦法我的toolId?
infoDir =/Users/moreinfo
private String getMoreInfoUrl(File infoDir, String toolId) {
String moreInfoUrl = null;
try {
Collection<File> files = FileUtils.listFiles(infoDir, new WildcardFileFilter(toolId+"*"), null);
if (files.isEmpty()==false) {
File mFile = files.iterator().next();
moreInfoUrl = libraryPath + mFile.getName(); // toolId;
}
} catch (Exception e) {
M_log.info("unable to read moreinfo" + e.getMessage());
}
return moreInfoUrl;
}
那麼在你的例子中,你希望它只返回'delegatedAccess.html'文件?試試'toolID +「\\。[^ \\。] * $」' – clcto
@clcto:是的。讓我試試你的現在 – pushya
我的例子是正則表達式,但'WildcardFileFilter'不使用正則表達式。我不認爲有一種方法可以用'WildcardFileFilter'指定你想要的,但是你可以遍歷它返回的列表。 – clcto