RTF Line count in Java

2019-08-05 05:17发布

问题:

Kindly let me know any API to calculate the line count for RTF document.

Apache POI or Aspose works for document, but its not able to find line count for RTF.

Thanks.

回答1:

Java already has a built-in RTF-Parser: RTFEditorKit.

Take a look at its read method.

For example:

test.rtf file contents

hello

stackoverflow

users

So, it has 3 lines separated by \n.

Code:

FileInputStream stream = new FileInputStream("test.rtf");
RTFEditorKit kit = new RTFEditorKit();

Document doc = kit.createDefaultDocument();
kit.read(stream, doc, 0);
String plainText = doc.getText(0, doc.getLength());
System.out.println(plainText.split("\\n").length);

Output = 3



回答2:

You can use Aspose.Words for Java to get the number of lines of an RTF document. Please do the following:

  1. Read RTF file using document class
  2. Get BuiltInDocumentProperties object using getBuiltInDocumentProperties method
  3. Now, get number of lines using getLines property of BuiltInDocumentProperties object

I hope this helps. Please note that I work as developer evangelist at Aspose. If you need any help with Aspose, do let me know.