这不是一个普遍的问题,而是一个特定于应用程序的问题。我碰巧正在做同样的事情。我们可能不应该在这里讨论这个问题,但是请原谅我,我只是想帮忙。
关键的一点是,你需要输入正确的论据,罐子
var processInfo = new ProcessStartInfo("java.exe", "-jar SentiStrengthCom.jar stdin sentidata data201109/ scale"){ ... }
下面是一个有效的解决方案:
// Start the java server, probably in a background thread
void bgw_DoWork(object sender, DoWorkEventArgs e)
{
string directory = ...; // the directory of jar
var processInfo = new ProcessStartInfo("java.exe", "-jar SentiStrengthCom.jar stdin sentidata data201109/ scale")
{
// Initialize properties of "processInfo"
CreateNoWindow = true,
UseShellExecute = false,
WorkingDirectory = directory,
RedirectStandardOutput = true,
RedirectStandardError = true,
RedirectStandardInput = true,
};
JavaSentiStrength = new Process();
JavaSentiStrength.StartInfo = processInfo;
JavaSentiStrength.Start();
Console.WriteLine("SentiStrengthCom Java is running...");
JavaSentiStrength.WaitForExit();
int exitCode = 0;
if (JavaSentiStrength != null) exitCode = JavaSentiStrength.ExitCode;
Debug.WriteLine("Java SentiStrengthCom closed down! " + exitCode);
JavaSentiStrength.Close();
JavaSentiStrength = null;
}
// A button click
private void btnRequest_Click(object sender, EventArgs e)
{
JavaSentiStrength.StandardInput.WriteLine("love you ");
string s_out = JavaSentiStrength.StandardOutput.ReadLine();
Debug.WriteLine("SentiStrengthCom output: " + s_out);
}
输出是
SentiStrengthCom输出:3 -1 2
希望它有帮助!
而你的问题是....? –
你不清楚你在问什么? – Tommassiov
也许你正在寻找'|'来将一个程序的输出链接到另一个程序,比如'type my.txt |更多'...通常'cmd /?'将解决很多与之相关的问题。 –