通过重定向从shell脚本运行java程序

通过重定向从shell脚本运行java程序,java,shell,io-redirection,Java,Shell,Io Redirection,我有一个java程序(Main.java、uandf.java和node.java),其中主程序接收输入文件的内容并执行一些操作。对于我的作业,我必须编写一个shell脚本来编译和运行程序,但输入文件必须重定向到shell脚本:即shell_script.sh

我有一个java程序(Main.java、uandf.java和node.java),其中主程序接收输入文件的内容并执行一些操作。对于我的作业,我必须编写一个shell脚本来编译和运行程序,但输入文件必须重定向到shell脚本:即shell_script.sh 有没有办法将文件内容作为命令行参数传递给java程序

到目前为止,我所拥有的:

#!/usr/bin/bash

javac -O Main.java uandf.java node.java
java -cp Main "$1"
我正在使用
/shell\u script.sh

java程序中的主要方法:

public static void main(String args[]) {
     String[] array = args[0].split("\n");
     ...
}

这是一件奇怪且不规范的事情,但是是的:

#!/usr/bin/bash
javac -O Main.java uandf.java node.java
java -cp . Main "$(cat)"
通常情况下,您会让Java程序从
系统中读取(就像从键盘读取一样),然后使用:

#!/usr/bin/bash
javac -O Main.java uandf.java node.java
java -cp . Main

当运行
/shell\u script.sh
时,通过
扫描仪或
缓冲读取器从
系统中读取数据,然后将返回
文件名中的数据

非常感谢!这很奇怪,但我们的教授希望作业是这样完成的,尽管我们在eclipse中编写代码,以前从未做过类似的事情:/谢谢您的帮助^^如果你为一项作业提供了完整的答案,你就妨碍了OP的实际学习。开始一个苏格拉底课程流程,在这里,你可以发布讨论,让人们自己找到答案,而不是直接回答编程问题