mingtian525 2011-12-29 09:58
浏览 636
已采纳

OpenOffice内存无限增加

我用:
soffice -headless -accept="socket,port=8100;urp;"
命令启动OpenOffice,然后在程序中

 

 

  public void run() {
        // 创建Openoffice连接
        OpenOfficeConnection con=null;
        long newsooc_s=System.currentTimeMillis();
        con = new SocketOpenOfficeConnection(8100);
        try {
            // 连接        
            long con_s=System.currentTimeMillis();
            con.connect();
            long con_e=System.currentTimeMillis();
            System.out.println(this.getName()+" "+con.isConnected()+"'con.connect: "+con_e+"-"+con_s+"=0."+(con_e-con_s)%1000+"秒");
        } catch (Exception e) {
            System.out.println("获取OpenOffice连接失败...");
            e.printStackTrace();
        }
        // 创建转换器
        DocumentConverter converter = new OpenOfficeDocumentConverter(con);
        // 转换文档html
        String fn = "E:/test_oo/Fintelligen_"+this.hashCode()+ ".html";
        converter.convert(new File("E:/test_oo/Fintelligen.xls"), new File(fn));
        long dc_e=System.currentTimeMillis();
        System.out.println(this.getName()+"'converter.convert: "+dc_e+"-"+newsooc_s+"="+(dc_e-newsooc_s)/1000+"."+(dc_e-newsooc_s)%1000+"秒");
        // 关闭openoffice连接
        con.disconnect();
    }

这样就会使后台的openoffice内存不断变大,好像链接没有释放。

请大虾解决一下内存问题。

  • 写回答

1条回答 默认 最新

  • _1_1_7_ 2011-12-30 10:04
    关注

    [code="java"]public void run() {

    // 创建Openoffice连接

    OpenOfficeConnection con=null;

    try {
    long newsooc_s=System.currentTimeMillis();

    con = new SocketOpenOfficeConnection(8100);

        // 连接           
        long con_s=System.currentTimeMillis();   
        con.connect();   
        long con_e=System.currentTimeMillis();   
        System.out.println(this.getName()+" "+con.isConnected()+"'con.connect: "+con_e+"-"+con_s+"=0."+(con_e-con_s)%1000+"秒");   
    
    // 创建转换器   
    DocumentConverter converter = new OpenOfficeDocumentConverter(con);   
    // 转换文档html   
    String fn = "E:/test_oo/Fintelligen_"+this.hashCode()+ ".html";   
    converter.convert(new File("E:/test_oo/Fintelligen.xls"), new File(fn));   
    long dc_e=System.currentTimeMillis();   
    System.out.println(this.getName()+"'converter.convert: "+dc_e+"-"+newsooc_s+"="+(dc_e-newsooc_s)/1000+"."+(dc_e-newsooc_s)%1000+"秒");   
    } catch (Exception e) {   
        e.printStackTrace();   
    } finally{ 
    // 关闭openoffice连接   
    

    if(con!=null)
    con.disconnect();

    }
    }[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料