LInux系统中Java程序如何从一个文件中读取command line 形式作为input??

2013-10-28 18:13:24 +08:00
 SharkIng
现在这个系统需要一些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使用错了??

求解
3797 次点击
所在节点    Java
4 条回复
cloudzhou
2013-10-28 18:29:07 +08:00
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.
delo
2013-10-28 19:19:48 +08:00
cat input.txt | java filename 试试不保证有效
msg7086
2013-10-28 19:55:38 +08:00
for循环,然后开一个长字符串,把操作指令和循环变量拼一起,最后塞给程序。
ericson
2013-10-29 09:26:14 +08:00
@SharkIng 信息不够, 至少给出:

1. 读取输入的代码;
2. java.lang.NullPointerException对应行的代码;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/87191

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX