首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-01-10 
有一个关于Runtime的问题 急!谢谢大家的帮助。我用java程序调用一个外部的.exe程序。可是我在DOS下直接运行

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

热点排行