我用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
}//classDos运行是输入的命令为:
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!
这是为什么啊?这个错误怎么解决,请大家为我出个主意,我非常着急,谢谢你们了,行苦大家了!
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
}//classDos运行是输入的命令为:
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!
这是为什么啊?这个错误怎么解决,请大家为我出个主意,我非常着急,谢谢你们了,行苦大家了!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货