Java 写入程序';s使用shell脚本进行标准输入

Java 写入程序';s使用shell脚本进行标准输入,java,bash,unix,Java,Bash,Unix,我想从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

我想从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());
    }
}
使用
echo

echo "Print this" | java ReadStuff
请注意,这将输出:

Enter some text:
Print
因为您正在调用Scanner.next(),它读取下一个单词,而不是整行

或者,如果文件中有内容:

cat file_with_Print_this | java ReadStuff
使用
echo

echo "Print this" | java ReadStuff
请注意,这将输出:

Enter some text:
Print
因为您正在调用Scanner.next(),它读取下一个单词,而不是整行

或者,如果文件中有内容:

cat file_with_Print_this | java ReadStuff

我想写
Scanner.nextLine()
。现在,如果我想让两个程序读取彼此的输入,我该怎么办?或者期望——有一个象棋程序在自相残杀。我想写
Scanner.nextLine()
。现在,如果我想让两个程序读取彼此的输入,我该怎么办?或者期望——有一个象棋程序在自相残杀。如果您的程序只从命令行获取输入,那么您可以按照以下方式操作:我是否需要修改程序(因为它当前存在于本页上)为了让它工作?如果您的程序只从命令行获取输入,那么您可以按照以下方式操作:我是否需要修改程序(因为它当前存在于此页面上)以使其工作?