我无法创建SipProvider-MjSip库

时间:2013-03-30 14:13:44

标签: nullpointerexception filenotfoundexception createinstance mjsip

我是MjSip的新手,我想创建一个SipProvider类的实例。 所以我滔滔不绝地说这个小代码但得到了一些错误:

sip_provider = new SipProvider("192.168.0.254",5060);

这里是错误堆栈:

java.io.FileNotFoundException: log\192.168.0.254.5060_events.log (The system cannot find the path specified)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.zoolu.tools.Log.<init>(Log.java:112)
at org.zoolu.tools.RotatingLog.<init>(RotatingLog.java:73)
at org.zoolu.sip.provider.SipProvider.initLog(SipProvider.java:295)
at org.zoolu.sip.provider.SipProvider.<init>(SipProvider.java:224)
at local.ua.UA.main(UA.java:539)

java.io.FileNotFoundException: log\192.168.0.254.5060_messages.log (The system cannot find the path specified)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(Unknown Source)
    at java.io.FileOutputStream.<init>(Unknown Source)
    at org.zoolu.tools.Log.<init>(Log.java:112)
    at org.zoolu.tools.RotatingLog.<init>(RotatingLog.java:73)
    at org.zoolu.sip.provider.SipProvider.initLog(SipProvider.java:296)
    at org.zoolu.sip.provider.SipProvider.<init>(SipProvider.java:224)
    at local.ua.UA.main(UA.java:539)
Exception in thread "main" java.lang.NullPointerException
    at org.zoolu.tools.Log.flush(Log.java:147)
    at org.zoolu.tools.Log.println(Log.java:177)
    at org.zoolu.sip.provider.SipProvider.printLog(SipProvider.java:1161)
    at org.zoolu.sip.provider.SipProvider.initLog(SipProvider.java:298)
    at org.zoolu.sip.provider.SipProvider.<init>(SipProvider.java:224)
    at local.ua.UA.main(UA.java:539)

我使用的是lan网络,IP地址有效。 为什么会这样? 请帮帮我!!!

1 个答案:

答案 0 :(得分:0)

没有日志文件夹。您需要创建一个文件夹。或者你应该给出一个特定的目录。

       String home = System.getProperty("user.home");            
       File f = new File(home +"//"+SipStack.log_path);           
       try {
            if (!f.exists() || !f.isDirectory()) 
            {                                                       
                JOptionPane.showMessageDialog(null,home +"//"+SipStack.log_path + " dosyası oluşturulacak");
                File dir = new File(home +"//"+SipStack.log_path);
                dir.mkdir();
            }
       } catch (Exception e) {
           JOptionPane.showMessageDialog(null,"Log klasörü oluşturulamadı");
       }
   } catch (Exception ex) {
   }

  if (SipStack.debug_level>0)
  { 
     String home = System.getProperty("user.home");           
     String filename=home+"//"+SipStack.log_path+"//"+via_addr+"."+host_port;
     log=new RotatingLog(filename+"_events.log",SipStack.debug_level,SipStack.max_logsize*1024,SipStack.log_rotations,SipStack.rotation_scale,SipStack.rotation_time);
     message_log=new RotatingLog(filename+"_messages.log",SipStack.debug_level,SipStack.max_logsize*1024,SipStack.log_rotations,SipStack.rotation_scale,SipStack.rotation_time);
  }