[英]Obtain input and output of Java program through bash
我有一個Java程序,它接受輸入並根據用戶提供的輸入打印輸出。 例如,當我運行它時,程序會提示用戶:
System Starts
login <--- User input
Login Successful
我希望能夠通過bash運行程序並將程序的輸出保存到文本文件中。
這是我嘗試的:
echo "login" | javac TicketSystem/src/*.java > Output.txt
但是,當我這樣做時,我的Output.txt
文件仍然為空。 我希望Output.txt
文件包含:
Login Successful
這可能嗎?
要運行Java程序,必須使用java
並指定包含main
方法的類的名稱。
當然,在運行它之前,您必須首先將.java
源文件編譯成.class
文件。
例如,您具有包含public static void main(String[] args)
Foo.java
。
javac Foo.java
>這給你一個Foo.class
java Foo
>這需要Foo.class
並執行它 我建議您先嘗試在不進行重定向的情況下編譯並運行程序,然后,如果可行,請嘗試使重定向生效。
嘗試:
echo "login" | java <class name that contains main method> > Output.txt
javac
是生成.class文件的compile命令。 例如,如果我有包含main
方法的Program.java,我將首先運行
javac Program.java
這將產生一個Program.class文件。 然后你會跑
java Program
執行主要方法的程序。
因此,在這種情況下,如果您的主要方法在Program.java中,則可以運行
echo "login" | java Program > Output.txt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.