1

我使用以下命令让终端与 SenseRelate::AllWords 一起工作:

wsd.pl --context test.txt --format raw --

但是,现在我正在尝试从我的 Java 代码运行 wsd.pl,它看起来像这样:

public static void main(String args[] ) throws IOException {
        String line;
        ProcessBuilder pb = new ProcessBuilder("wsd.pl", "--context test.txt", "--format raw");
        pb.redirectErrorStream(true);
        Process process =  pb.start();
        InputStream stdout = process.getInputStream();


        BufferedReader reader = new BufferedReader (new InputStreamReader(stdout));

        while ((line = reader.readLine ()) != null) {
            System.out.println ("Stdout: " + line);
        }
    }

它给了我错误:

Stdout: Unknown option: context test.txt
Stdout: Unknown option: format raw

test.txt 路径是项目的源文件夹(顶层,在 src、.git 等旁边)

我尝试了一些不同的方法:将参数添加到列表并基于该列表创建一个新进程,格式化参数的不同方法,但不,它不起作用。有人可以帮忙吗?我想这是我不熟悉的一些语法。

谢谢!

4

1 回答 1

2
ProcessBuilder pb = new ProcessBuilder("wsd.pl", "--context", "test.txt", "--format", "raw");

还要确保您的工作目录是正确的。

于 2013-11-26T12:52:49.400 回答