LInux系统中Java程序如何从一个文件中读取command line 形式作为input??
现在这个系统需要一些input, 例如做什么(例如 login)回车后问你名字叫什么(例如Peter)回车后问你学生编号是什么(例如100000)
然后现在我们有一个txt文件, 内容就是 login(回车)Peter(回车)100000 每个信息一行
在Linux系统中, 运行Java文件在compile之后用java filename(回车)
然后就可以输入上面说的信息了
可是如果想要从这个txt里面作为input怎么做??
原本想的是 java filename <inpput.txt 但是出现错误
(java.lang.NullPointerException)
是java本身写错了还是这个input file使用错了??
求解 ----------------------- 以下是精选回复-----------------------
答:http://stackoverflow.com/questions/1431551/command-line-pipe-input-in-java
By executing "java Read < input.txt" you've told the operating system that for this process, the piped file is standard in. You can't then switch back to the command line from inside the application.
If you want to do that, then pass input.txt as a file name parameter to the application, open/read/close the file yourself from inside the application, then read from standard input to get stuff from the command line.
答:cat input.txt | java filename 试试不保证有效
答:for循环,然后开一个长字符串,把操作指令和循环变量拼一起,最后塞给程序。
0条评论