java - 当我输入 "java char *"时,为什么程序引用同一目录中的第一个文件?

标签 java command-line directory output args

public class Char
{

    public static void main(String[] args) {
        String plainText = args[0];

        char [] a = plainText.toCharArray();

        System.out.println(a);
    }

}

最佳答案

这确实是一个 Unix CLI 问题。

问题是通配符 (*) 字符在输入到 java 之前中被扩展(通配)到目录中的所有条目,即,它被转换为类似的内容

java char BooleanLoop.java BooleanLoop.class etcetera etcetera

如果要将 * 字符提供给 java,请将其用单引号 ' 括起来,或者使用反斜杠将其转义。

java char '*'
java char \*

关于java - 当我输入 "java char *"时,为什么程序引用同一目录中的第一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18679480/

相关文章:

c# - 使用 CommandLine Parser Library 标记所需集

C++ recursive_directory_iterator 遗漏一些文件

python - 在python中创建带时间戳的文件夹

php - 向后移动 2 个目录不起作用?

java - java中强制带注释的字段包含带注释的类

java - 如何将输入值与数组的每个值进行比较?

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 模拟静态 Liferay 方法

ruby-on-rails - Ruby 单线故障?

php - 如何在 PHP shell_exec 中设置命令行环境变量