当我在cmd中使用此命令运行jar文件时。使用.bat文件打开jar文件后跳过或自动回答问题
java -jar Reporter.jar p=Reporter.properties Sales.generateToken
它要求用户名和密码(隐藏字段),然后Y/N
问我要自动应答控制台这些问题。
我创建了一个批处理文件,使用不同的技术,但没有一次成功 forexample我写userName和使用密码|和&其次我添加/ Q来执行它,而不是要求用户名/密码和构象。
的技术没有工作。
我的bat文件看起来像这样
java -jar Reporter.jar p=Reporter.properties Sales.generateToken
& userName123
& Password123
& y
pause
然后
我意识到这是不可能直接与bat文件来做到这一点。 所以我创建了一个小的Java程序,它是由bat文件 这样构建和执行的。
javac program.java
java program
pause
问题: 我想编写一个程序,自动写username “的ABC”,然后密码 “123”,然后 “Y”;
目前我的计划是这样的。
import java.io.InputStream;
import java.lang.Runtime;
import java.lang.Process;
class program{
public static void main(String[] args){
try{
Process proc = Runtime.getRuntime().exec("java -jar Reporter.jar p=Reporter.properties Sales.generateToken");
proc.waitFor();
InputStream in = proc.getInputStream();
byte b[]=new byte[in.available()];
in.read(b,0,b.length);
System.out.println(new String(b));
}catch(Exception ex)
{
System.out.println(ex);
}
}
}
我对如何继续使用输出流感到困惑。请帮助
编辑
在bat文件使用此
echo username.dk pas01% y& java -jar Reporter.jar p=Reporter.properties Sales.generateToken
pause
pause
pause
而是尝试像'echo user password y | Java的罐子为reporter.jar P = Reporter.properties Sales.generateToken' – npocmaka
这样写这一点,但 回声 “TUSER” “abc01%” | Java的罐子为reporter.jar P = Reporter.properties Sales.generateToken 暂停 但CMD飞溅和disapears @ npocmaka – Charlie
即使没有引号 – Charlie