java - 在 Java 中,如何使用 posix 通配符语法从多个文件中读取数据?

标签 java file-io wildcard

目前,我有一个循环遍历 System.in 进行数据处理的脚本。我正在使用 cat 从多个文件向它传递数据。

cat myfiles*.txt | java MyDataProcessor 

基于 cat 与 Java 直接打开文件相比效率低下的想法,我想将其优化为 Java 直接打开文件的位置:

java MyDataProcessor myfiles*.txt

是否有任何 Java 库可以使这相当容易(即处理将 posix 通配符转换为文件处理程序)?

最佳答案

Java 7 添加了一个 PathMatcher 类,可用于基于 glob 验证路径名(这将类似于您的 shell 所做的匹配)

PathMatcher matcher = FileSystems.getDefault().getPathMatcher("glob:myfiles*.txt");
matcher.matches(filename);

可以在 Oracle Java 教程中找到基于 glob 遍历文件树和搜索文件的示例 here

关于java - 在 Java 中,如何使用 posix 通配符语法从多个文件中读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13184911/

相关文章:

java - 如何预安装 Eclipse m2e 配置器(生命周期配置未涵盖的插件执行)

c# - 如何打开在另一个应用程序中打开的文件

java - 关于通过java根据条件移动序列化文件

java - MyBatis 和泛型 : Return Type ArrayList<? extends MyClass> Returns Nulls

regex - Nginx 正则表达式和位置通配符

java - RxJava 在连接映射后更改线程

java - InetAddress 无法检索 FQDN,而 nslookup 可以

java - 在RecyclerView的Adapter中模仿 'onActivityResult'

C FILE * 没有值也没有错误

java - 如何在 Java 的泛型(Erasure)中检索类型信息?