【问题标题】:Displaying contents of doc file in jTextPane在 jTextPane 中显示 doc 文件的内容
【发布时间】:2013-05-01 10:28:26
【问题描述】:

我正在尝试将 doc 文件的内容显示到 jTextPane 中。但它只显示文档的最后一行,而在控制台上显示整个文档。 我正在使用 Apache POI 库。

File file = null;
    WordExtractor extractor = null ;
    try {

        file = new File("C:\\Users\\Siddique Ansari\\Documents\\CV Parser\\Siddique_Resume.doc");
        FileInputStream fis=new FileInputStream(file.getAbsolutePath());
        HWPFDocument document=new HWPFDocument(fis);
        extractor = new WordExtractor(document);
        String [] fileData = extractor.getParagraphText();
        for(int i=0;i<fileData.length;i++){
            System.out.println(fileData[i]);
            jTextPane1.setText(fileData[i]);

        }
    }
    catch(Exception exep){}

【问题讨论】:

    标签: java swing apache-poi jtextpane


    【解决方案1】:

    jTextPane1.setText(fileData[i]); 每次都会覆盖当前值。

    改为附加到基础文档:

    Document doc = jTextPane1.getDocument();
    
    // ... in your loop:
    doc.insertString(doc.getLength(), fileData[i], null);
    

    【讨论】:

      【解决方案2】:

      代替:

      for(int i=0;i<fileData.length;i++){
          System.out.println(fileData[i]);
          jTextPane1.setText(fileData[i]);
      }
      

      试试

      StringBuilder content = new StringBuilder();
      for(int i=0; i < fileData.length; i++){
          System.out.println(fileData[i]);
          content.append(fileData[i]).append("\n");
          jTextPane1.setText(content.toString());
      }
      

      还有,

      catch(Exception exep){}
      

      从来都不是一个好主意。至少写:

      catch(Exception exep) { exep.printStackTrace(); }
      

      这样您就知道发生异常时会发生什么。

      【讨论】:

        猜你喜欢
        • 2016-10-06
        • 2011-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多