我写了这堂课:
public class ListArg {
public static void main(String args[])
{
for(int i=0;i<args.length;i++)
{
System.out.println(args[i]);
}
}
}
javac ListArg.java //编译类
我编译了上面的类并运行如下: java ListArg *
但ListArg在控制台上显示当前目录内容而不是“*”。
答案 0 :(得分:4)
不幸的是,在Windows上,正常的引用似乎会给你一个引用的参数,即如果你打印args[0]
已经运行
java ListArg '*'
它将包含单引号。我正在调查是否有一种禁用此方法的方法......虽然这可以在Unix shell上运行。
编辑:嗯...到目前为止,在Windows中设置一串只是一颗星的时候没有运气:(答案 1 :(得分:2)
你应该用引号包装*:
java ListArg '*'
或java ListArg "*"
答案 2 :(得分:1)
这是你的shell(除非你在Windows上)扩展*。尝试通过将其放在引号中来避免它,例如“*”。
对于我在Windows XP上使用双引号工作,“*”作为参数给出java程序*作为参数(没有双引号和没有扩展)。也许这与其他Window版本不同。
答案 3 :(得分:1)
用双引号给出命令行参数并检查。
答案 4 :(得分:0)
*
是wildcard
字符,由终端
与*
类似,您可以使用
*.*
*.txt
。这将列出.txt结尾的文件和文件夹等,你可以试试
此link提供有关这些内容的信息。
它不仅适用于Linux,也适用于Windows。