从.net调用java命令行程序,并将STDOUT的输出返回给变量
我有一个java命令行程序,需要在.net程序(VB)中执行 java命令行程序在执行完后会吐出一个我需要知道的数字 我可以从java程序中获取标准输出并将其读入.net程序吗 编辑:我已经让程序执行了,但是我如何读取输入流呢 下面是执行java程序的代码从.net调用java命令行程序,并将STDOUT的输出返回给变量,java,vb.net,Java,Vb.net,我有一个java命令行程序,需要在.net程序(VB)中执行 java命令行程序在执行完后会吐出一个我需要知道的数字 我可以从java程序中获取标准输出并将其读入.net程序吗 编辑:我已经让程序执行了,但是我如何读取输入流呢 下面是执行java程序的代码 Dim processinfo As New ProcessStartInfo() processinfo.WorkingDirectory = "C:\path\to\working\directory" processinfo.FileN
Dim processinfo As New ProcessStartInfo()
processinfo.WorkingDirectory = "C:\path\to\working\directory"
processinfo.FileName = "java.exe"
processinfo.Arguments = "-jar myprogram.jar argumentA argumentB"
Process.Start(processinfo)
这给了我一个命令框,我可以看着程序执行
编辑:工作的完整代码示例
Dim processinfo As New ProcessStartInfo()
processinfo.WorkingDirectory = "C:\"
processinfo.FileName = "java.exe"
processinfo.Arguments = "-jar my.jar list of params"
Dim myProcess As New Process()
processinfo.UseShellExecute = False
processinfo.RedirectStandardOutput = True
myProcess.StartInfo = processinfo
myProcess.Start()
Dim myStreamReader As StreamReader = myProcess.StandardOutput
' Read the standard output of the spawned process.
Dim myString As String
Do
myString = myStreamReader.ReadLine()
TextBox1.Text += myString
Loop Until (myStreamReader.EndOfStream)
myProcess.WaitForExit()
myProcess.Close()
是,使用(例如,中间)。确保设置为
false
,并设置为true
,通过VB调用“java javaprogram”作为进程,并读取输入流。这与asp.net无关