我有以下字符串作为全局规则:
**/*.txt
Run Code Online (Sandbox Code Playgroud)
并测试数据:
/foo/bar.txt
/foo/buz.jpg
/foo/oof/text.txt
Run Code Online (Sandbox Code Playgroud)
是否可以使用glob规则(不将glob转换为regex)来匹配测试数据并返回valud条目?
一个要求: Java 1.6
如果你有Java 7可以使用FileSystem.getPathMatcher:
final PathMatcher matcher = FileSystem.getPathMatcher("glob:**/*.txt");
Run Code Online (Sandbox Code Playgroud)
这需要将您的字符串转换为以下实例Path:
final Path myPath = Paths.get("/foo/bar.txt");
Run Code Online (Sandbox Code Playgroud)
对于早期版本的Java,您可能会从Apache Commons获得一些里程碑WildcardFileFilter.您也可以尝试从Spring中窃取一些代码AntPathMatcher- 这非常接近于glob-to-regex方法.
| 归档时间: |
|
| 查看次数: |
3875 次 |
| 最近记录: |