gpt4 book ai didi

Java执行命令行程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:56:36 24 4
gpt4 key购买 nike

我在执行命令行工具时遇到一点问题。我想从 WinRAR 执行 UnRAR.exe。我这样做:

Process process = runtime.exec("\"" + unrarPath + "\"" + " x -kb -vp " + "\"" + fileName + "\"", null, f.getParentFile());

我的问题是压缩文件受密码保护。如果我在控制台中执行命令,系统会要求我输入密码。如果我让 Java 执行它,程序就会结束,永远不会等待用户输入(密码)。

我尝试写入流程输出流,但没有成功。关于在“不同”环境中执行的命令行程序的行为,我需要了解什么吗?

编辑:也许我不够清楚。我的问题是:是否可以使用 Java 与命令行程序进行交互?

最佳答案

适合我。也许您没有写换行符并刷新流?

Process tr = Runtime.getRuntime().exec( new String[]{ "cat" } );
Writer wr = new OutputStreamWriter( tr.getOutputStream() );
BufferedReader rd = new BufferedReader( new InputStreamReader( tr.getInputStream() ) );
wr.write( "hello, world\n" );
wr.flush();
String s = rd.readLine();
System.out.println( s );

http://ideone.com/OUGYv

+1 你的问题,java.lang.Process 正是我要找的!

关于Java执行命令行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9346077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com