Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过C从命令行启动Weka#_C#_.net_Command Line_Weka - Fatal编程技术网

C# 通过C从命令行启动Weka#

C# 通过C从命令行启动Weka#,c#,.net,command-line,weka,C#,.net,Command Line,Weka,我正在尝试使用C#从cmd行打开Weka。这是我正在使用的代码。它为Weka.Start()行提供了一个错误,错误是:Win32异常未处理。系统找不到指定的文件。请帮帮我。谢谢 ProcessStartInfo WekaStartInfo = new ProcessStartInfo(@"C:\Program Files\Weka- 3-6\java -Xmx1536m -jar weka.jar"); WekaStartInfo.UseShellExecute =

我正在尝试使用C#从cmd行打开Weka。这是我正在使用的代码。它为Weka.Start()行提供了一个错误,错误是:Win32异常未处理。系统找不到指定的文件。请帮帮我。谢谢

 ProcessStartInfo WekaStartInfo = new ProcessStartInfo(@"C:\Program Files\Weka-    3-6\java -Xmx1536m -jar weka.jar");


        WekaStartInfo.UseShellExecute = false;
        WekaStartInfo.RedirectStandardOutput = true;
        WekaStartInfo.RedirectStandardError = true;
        WekaStartInfo.CreateNoWindow = false;

        Process Weka = new Process();
        Weka.StartInfo = WekaStartInfo;
        Weka.Start();
        string output = Weka.StandardOutput.ReadToEnd();
        Weka.WaitForExit();

您可能根据错误描述为流程指定了不正确或不存在的位置。检查ProcessStartInfo中指定的路径是否正确

也许,这里的声明中有不必要的空格:

ProcessStartInfo WekaStartInfo = new ProcessStartInfo(@"C:\Program Files\Weka-3-6\java -Xmx1536m -jar weka.jar");

在ProcessStartInfo的构造函数中,您必须只输入名称,或者指定参数


有两个选项可以从 C#应用程序

  • 在WEKA安装目录中有一个 批处理文件RunWeka.bat。启动WEKA 使用此批处理文件时,请使用以下命令 代码:

  • 在不使用批处理文件的情况下启动WEKA 使用以下代码:

    ProcessStartInfo wekaStartInfo = 
        new ProcessStartInfo(@"javaw", @"-classpath . RunWeka -i .\RunWeka.ini -w .\weka.jar -c default");
    
    wekaStartInfo.WorkingDirectory = @"c:\Program Files\Weka-3-6";
    wekaStartInfo.UseShellExecute = false;
    wekaStartInfo.RedirectStandardOutput = true;
    wekaStartInfo.RedirectStandardError = true;
    wekaStartInfo.CreateNoWindow = false;
    
    using(Process weka = new Process())
    {
      weka.StartInfo = wekaStartInfo;
      weka.Start();           
    }
    
  • 在这两种情况下,都必须设置工作目录

    ProcessStartInfo wekaStartInfo = 
             new ProcessStartInfo(@"c:\Program Files\Weka-3-6\runweka.bat", "default");
    
    wekaStartInfo.WorkingDirectory = @"c:\Program Files\Weka-3-6";
    
    wekaStartInfo.UseShellExecute = false;
    wekaStartInfo.RedirectStandardOutput = true;
    wekaStartInfo.RedirectStandardError = true;
    wekaStartInfo.CreateNoWindow = false;
    
    using(Process weka = new Process())
    {
      weka.StartInfo = wekaStartInfo;
      weka.Start();
    }
    
    ProcessStartInfo wekaStartInfo = 
        new ProcessStartInfo(@"javaw", @"-classpath . RunWeka -i .\RunWeka.ini -w .\weka.jar -c default");
    
    wekaStartInfo.WorkingDirectory = @"c:\Program Files\Weka-3-6";
    wekaStartInfo.UseShellExecute = false;
    wekaStartInfo.RedirectStandardOutput = true;
    wekaStartInfo.RedirectStandardError = true;
    wekaStartInfo.CreateNoWindow = false;
    
    using(Process weka = new Process())
    {
      weka.StartInfo = wekaStartInfo;
      weka.Start();           
    }