读书人

有一个关于Runtime的有关问题 急多谢大

发布时间: 2012-01-10 21:26:50 作者: rapoo

有一个关于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

读书人网 >J2SE开发

热点推荐