因此,对于学校的作业,我需要用 Java 编写一个程序来管理大学里的一些学生,用户可能会调用一些函数,但我从测试“添加”开始。
我的教授建议我使用输入重定向,因为我可以轻松地反复测试程序,而无需输入太多内容。现在问题来了。
echo `< input.txt`
add Student Name 123 Street,City,Province,Postal Code q
#Input rediraction ate my newlines
cat input.txt
add
Student Name
Street,City,Province,Postal Code
q
#What I actually want to run
java -cp . TestCollege < input.txt #fail horribly
如您所见,bash 删除了我用来分隔输入的换行符,因此我的程序崩溃了,因为当您在交互模式下运行它时,Scanner.getLine() 只会阻塞,直到输入发生。
知道如何用换行符给我的程序输入,它似乎在 Windows“cmd”中运行良好,但在“bash”中运行良好。