今天发现一个之前没有注意过的问题,在给java的main函数传参时,参数可以使用通配符来表示多个文件,例如:
java -jar post.jar *.xml
其中"*.xml"代表当前文件夹下所有的xml文件。
之前一直以为main函数会认为"*.xml"只是单一的参数值,即String[] args的length为1,但实际测试后发现,main函数会将"*.xml"所匹配的所有文件名作为多个参数值传入。
见代码:
public static void main(String[] args) throws IOException {
System.out.println(args.length);
for(String arg : args){
File file = new File(arg);
System.out.println(file.getName());
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while((line = br.readLine()) != null){
System.out.println(line);
}
}
}
这是我在本地传入"*.txt"后的测试结果
3
demo1.txt
123
456
demo2.txt
223
456
demo3.txt
323
456
可能是我少见多怪了,不管怎样,先记录下。
分享到:
相关推荐
本文将深入探讨通配符的使用、校验方法以及如何在C语言中通过函数库实现这些功能。 首先,通配符主要有两种常见的类型:星号(*)和问号(?)。星号代表零个或多个任意字符,而问号则代表单个任意字符。例如,"*....
在这个例子中,我们定义了一个名为`wildcardMatch`的函数,它接受一个模式字符串和一个目标字符串作为参数。通过迭代方式,我们检查每个字符并根据通配符规则进行匹配。在主函数中,我们测试了这个函数,可以看到它...
题目要求我们编写一个名为 `matchstring` 的函数,接受两个参数:一个是包含通配符的字符串 `s1`,另一个是需要匹配的普通字符串 `s2`。函数的目标是返回一个布尔值,表示这两个字符串是否匹配。 在提供的代码中,`...
本文将详细介绍`Dir()`函数的基本用法、参数解释以及如何在实际编程场景中应用它。 #### Dir()函数概述 `Dir()` 函数用于返回一个字符串,表示指定目录中满足特定属性条件的第一个或下一个文件名。如果找不到任何...
- `filespec`:指定搜索条件,可以使用通配符(例如 `"*.c"` 表示所有 `.c` 后缀的文件)。 - `fileinfo`:指向 `struct _finddata_t` 的指针,用于存储找到的第一个文件的信息。 - **返回值**: - 成功返回一个...
- 下界通配符:确保类型参数至少满足某种约束。 - 最小类型:在类型推导中使用。 - 元组:存储多个值的容器。 - 函数:泛型函数允许处理不同类型的参数。 9. 列表 列表是Scala中的常用数据结构,支持多种操作,如...
`FindFirstFile`函数是文件搜索的起始点,它接收两个参数:一个指向字符串的指针,这个字符串指定了搜索的目录和通配符(例如,"*.txt"表示查找所有的.txt文件),以及一个`WIN32_FIND_DATA`结构体的指针,用来存储...
1.输入main后按table键,自动生成main函数 2.输入单词自动补全//注,本文档之前输入的单词自动补全 3.双引号、单引号、大括号自动补全,小括号不能自动补全【如果有人发现是什么原因,可以留言哈】 【注】祝大家更...
#### Insmod——main函数 `insmod`命令的入口点是`main`函数。在这个函数中,主要完成了参数解析以及核心操作的初始化工作。`main`函数通常接受模块路径、选项列表等参数,并将这些信息传递给后续处理过程。 #### ...
7. **无参数函数**:无参数的Scala函数通常不使用圆括号。 8. **Trait**:Trait类似于Java接口,但可包含默认方法和实现。使用`with`关键字可以将Trait混入类中。 **Scala表达式**: - **if表达式**:Scala的`if`...
在C语言中,`main`函数是程序的入口点,它接受两个参数:`int argc`和`char *argv[]`。这两个参数在处理命令行参数时起着关键作用。`argc`代表命令行参数的总数,包括可执行程序本身的名称。`argv`是一个字符指针...
- 在规则中使用通配符 - 文件搜寻 - 伪目标 - 多目标 - 静态模式 7. **自动生成依赖性** - 使用 `gcc` 等工具自动生成依赖性。 8. **书写命令** - 显示命令 - 命令执行 - 命令出错 - 嵌套执行 make - ...
- `>` 子选择器:`$(".main > a")`会选择所有属于`.main`类的直接子元素`<a>`标签。 4. **相邻元素选择** - `next()` 和 `nextAll()` 方法:`jqueryObj.next("div")`将选取紧跟在`jqueryObj`后面的第一个`<div>`...
所以,main函数中的x、y、z的值不会因调用fun函数而改变,输出为10,20,30,正确答案为B。 2. 网页字符编码问题。在HTML中,特殊字符通常使用转义序列表示,">"对应的转义序列是">",因此正确答案是D。 3. ...
call函数用于执行一个参数化的函数。 7.7 origin函数 origin函数用于查询变量定义的来源。 7.8 shell函数 shell函数用于在makefile中执行shell命令,并获取输出。 7.9 控制make的函数 有一些函数可以用来控制make...
2. 函数式编程:Scala同样支持函数作为一等公民,这意味着函数可以作为变量赋值、作为参数传递、作为返回值。此外,它还包含高阶函数、柯里化、闭包和尾递归等函数式编程概念。 3. 类型系统:Scala具有强大的类型...
9. **泛型**:类型参数,通配符,类和函数的泛型。 10. **注解**:自定义注解,编译时和运行时注解,使用注解处理器。 11. **扩展函数与属性**:在不修改原有类的情况下增加功能。 12. **空安全**:可空类型与非空...
4.9 能否用void ** 通用指针作为参数,使函数模拟按引用传递参数? 48 4.10 我有一个函数extern intf(int *); ,它接受指向int型的指针。我怎样用引用方式传入一个常数?调用f(&5);似乎不行。 49 4.11 C语言...
FindFirstFile 函数的第一个参数是一个字符串,可以是一个路径名或文件名,并且支持通配符 * 和 ?。如果想查找 D 盘下的所有文件,可以写成 D:\\*.* 或者 D:\\*。如果只想查找 D 盘下的 txt 文件,那么可以写成 D:\\...