我正在通过 Java 进程运行PdfToText :
File pdf = new File( "/path/to/test.pdf" );
File output = new File( "/path/to/output.txt" );
String[] cmd = { "pdftotext",
pdf.getPath(),
output.getPath()
};
ProcessBuilder pb = new ProcessBuilder( cmd );
Process pr = pb.start() ;
int exit = pr.waitFor();
哪个运行没有问题。
但是,当我添加此处指定的编码参数时:
String[] cmd = { "pdftotext",
"-enc " + encoding,
pdf.getPath(),
output.getPath()
};
然后该过程就挂起 - 即,我正在运行的测试只是运行并运行,就好像它被卡在一个循环中一样。
编码肯定包含一个值,当生成的命令被复制并粘贴到命令终端时,pdftotext 运行没有问题。
谁能指出我在哪里出错了?