有一个关于Runtime的问题 急!谢谢大家的帮助。
我用java程序调用一个外部的.exe程序。可是我在DOS下 直接运行这个程序,是可以正确加载和执行的,可是用RUNTIME就显示报错。我的程序代码是:
package FAQ;
import java.io.*;
public class A2POS {
public static String Qurl= "C:\\jbuilder\\POS\\question.txt ";//POS的输入文件
public static String Rurl= "C:\\jbuilder\\POS\\result.txt "; //POS的输出文件
private static File Qu=new File(Qurl); //输入流对象
private static File Ru=new File(Rurl); //输出流对象
public void A2POS() {
//建立两个新的文件
try {
Qu.delete();
Qu.createNewFile();
}catch (Exception e)
{
e.printStackTrace();
}
try
{
File Ru=new File(Rurl);
Ru.delete();
Ru.createNewFile();
}catch (Exception e)
{
e.printStackTrace();
}
}//A2POS()
//调用POS 外部程序 geniatagger
public void Pos(String Inquestion) throws IOException // <1> 写入要标注的句子
{
String question= Inquestion;
PrintWriter out= new PrintWriter(new BufferedWriter(new FileWriter(Qu)));
out.write(question);
out.close();
try
{
Process process=null;
process = Runtime.getRuntime().exec
( "cmd /c start/wait c:\\jbuilder\\postagger-1.0\\postagger-1.0\\tagger.exe < "+Qurl+ "> "+Rurl ");
process.waitFor();
System.out.println( "finish ");
}
catch (Exception e)
{
e.printStackTrace();
}
}//Pos
}//class
Dos运行是输入的命令为:
tagger.exe <c:\jbuilder\POS\question.txt> c:\jbuilder\POS\question.txt
<c:\jbuilder\POS\question.txt 为输入文件
> c:\jbuilder\POS\question.txt 为输出文件
这样运行很正常 加载过程的显示为
loading ./models/model.bidir.0
loading ./models/model.bidir.1
loading ./models/model.bidir.2
loading ./models/model.bidir.3
loading ./models/model.bidir.4
loading ./models/model.bidir.5
loading ./models/model.bidir.6
可是如果要运行那个类结果就是:
loading ./models/model.bidir.0
error:cannot open./models/model.bidir.0!
loading ./models/model.bidir.1
error:cannot open./models/model.bidir.1!
loading ./models/model.bidir.2
error:cannot open./models/model.bidir.2!
这是为什么啊?这个错误怎么解决,请大家为我出个主意,我非常着急,谢谢你们了,行苦大家了!
[解决办法]
up