gpt4 book ai didi

java - 通过使用文件重定向为其提供输入来运行 Java 程序

转载 作者:行者123 更新时间:2023-12-03 20:00:10 25 4
gpt4 key购买 nike

我正在尝试使用文件重定向来运行 Java 程序。我正在用这个简单的程序测试它:

package netbeans.sanbdox;

public class Sanbdox {
public static void main(String[] args) {
for(int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}

当我进入命令行并运行时
$ java -jar dist/compiled_project.jar < q1.txt
$

没有输出,即使 q1.txt不是空文件。我应该怎么做才能使文件重定向工作?

最佳答案

以这种形式重定向只是替换 stdin来自该文件的文件流。您的代码未使用 stdin对于任何事情,因此您不会有任何输出,因为您没有将任何命令行参数传递给程序。

要查看您的期望,您必须使用 Scanner :

Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
System.out.println(scanner.next());
}

scanner.close(); // Not required for stdin but good practice

如果您真正想要的是将文件中的每个标记作为命令行参数提供,您可以在 shell 中执行以下操作:
$ java -jar dist/compiled_project.jar $(cat q1.txt)

这将输出 q1.txt 的内容作为 shell 命令的一部分。由于换行符或其他问题,它可能无法按您想要的方式工作。

关于java - 通过使用文件重定向为其提供输入来运行 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19697922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com