我想从Unix(bash)命令行向以下Java程序发送文本输入,以便它将打印输入的文本。如何编写一个shell脚本,将字符串“Print this”发送到Java程序?
import java.util.Scanner;
public class ReadStuff{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("Enter some text:");
System.out.println(scan.nextLine());
}
}
答案 0 :(得分:6)
使用echo
echo "Print this" | java ReadStuff
请注意,这将输出:
Enter some text:
Print
因为您正在调用Scanner.next()
来读取下一个单词,而不是整行。
或者,如果你在文件中有东西:
cat file_with_Print_this | java ReadStuff