【问题标题】:Dragon book compiler input [duplicate]龙书编译器输入[重复]
【发布时间】:2023-03-18 20:24:02
【问题描述】:

我正在执行“龙书”前端编译器,它需要使用文件输入

java main.Main < fileInput.txt

我的问题是:当我运行 args.length 时,返回值为 0。fileInput.txt 不被认为是一个参数吗?我怎么能在代码上捕捉到它?

【问题讨论】:

    标签: java args


    【解决方案1】:

    不,您没有将参数传递给程序。相反,您正在写入已执行程序的标准输入(fileInput.txt 的内容可以通过System.in 访问)。

    以防万一,示例阅读:

    Scanner scanner = new Scanner(System.in);
    while(scanner.hasNextLine()) { 
        System.out.println(scanner.nextLine());
    }
    

    编辑:现在发现了一个类似的问题,请参阅:Reading in from System.in - Java ;-)

    【讨论】:

      【解决方案2】:

      不,通过重定向提供标准输入是 shell 的一个特性。检测使用此功能的唯一方法是在标准 io 文件句柄/描述符上使用 OS 函数。

      【讨论】:

        猜你喜欢
        • 2014-08-21
        • 2010-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-28
        相关资源
        最近更新 更多