使用重定向从shell脚本运行java程序

mbjcgjjk  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(352)

我有一个java程序(main.java、uandf.java和node.java),其中主程序接收输入文件的内容并执行一些操作。对于我的任务,我必须编写一个shell脚本来编译和运行程序,但是输入文件必须被重定向到shell脚本:即shell\u script.sh<file。
有没有一种方法可以将文件的内容作为命令行参数传递给java程序?
到目前为止我所拥有的:


# !/usr/bin/bash

javac -O Main.java uandf.java node.java
java -cp Main "$1"

我正在和你一起写剧本 ./shell_script.sh < filename java程序中的主要方法:

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

a5g8bdjr1#

这是一个奇怪的和不规范的事情,但是的:


# !/usr/bin/bash

javac -O Main.java uandf.java node.java
java -cp . Main "$(cat)"

通常情况下,您会让您的java程序从 System.in (好像是从键盘上),刚刚用过:


# !/usr/bin/bash

javac -O Main.java uandf.java node.java
java -cp . Main

运行时 ./shell_script.sh < filename ,正在读取 System.in 通过 Scanner 或者 BufferedReader 然后从 filename .

相关问题