【发布时间】:2023-03-18 20:24:02
【问题描述】:
我正在执行“龙书”前端编译器,它需要使用文件输入
java main.Main < fileInput.txt
我的问题是:当我运行 args.length 时,返回值为 0。fileInput.txt 不被认为是一个参数吗?我怎么能在代码上捕捉到它?
【问题讨论】:
我正在执行“龙书”前端编译器,它需要使用文件输入
java main.Main < fileInput.txt
我的问题是:当我运行 args.length 时,返回值为 0。fileInput.txt 不被认为是一个参数吗?我怎么能在代码上捕捉到它?
【问题讨论】:
不,您没有将参数传递给程序。相反,您正在写入已执行程序的标准输入(fileInput.txt 的内容可以通过System.in 访问)。
以防万一,示例阅读:
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
编辑:现在发现了一个类似的问题,请参阅:Reading in from System.in - Java ;-)
【讨论】:
不,通过重定向提供标准输入是 shell 的一个特性。检测使用此功能的唯一方法是在标准 io 文件句柄/描述符上使用 OS 函数。
【讨论】: