1 36 37 package com.bluecubs.xinco.index.filetypes; 38 39 import java.io.FileInputStream ; 40 import java.io.InputStreamReader ; 41 import java.io.Reader ; 42 import java.io.File ; 43 import java.io.BufferedReader ; 44 45 import org.apache.poi.hpsf.PropertySet; 46 import org.apache.poi.poifs.eventfilesystem.POIFSReader; 47 import org.apache.poi.poifs.eventfilesystem.POIFSReaderEvent; 48 import org.apache.poi.poifs.eventfilesystem.POIFSReaderListener; 49 import org.apache.poi.poifs.filesystem.DocumentInputStream; 50 51 public class XincoIndexMicrosoftPowerpoint implements XincoIndexFileType { 52 53 public XincoIndexMicrosoftPowerpoint() { 54 super(); 55 } 56 57 public Reader getFileContentReader(File f) { 58 Reader reader = null; 59 return reader; 60 } 61 62 public String getFileContentString(File f) { 63 String text = null; 64 try { 65 POIFSReader r = new POIFSReader(); 66 XincoIndexMicrosoftPowerpointPOIFSReaderListener ximpprl = new XincoIndexMicrosoftPowerpointPOIFSReaderListener(); 67 r.registerListener(ximpprl); 68 r.read(new FileInputStream (f)); 69 text = ximpprl.getEventText(); 70 } catch (Exception e) { 71 text = null; 72 } 73 return text; 74 } 75 76 static class XincoIndexMicrosoftPowerpointPOIFSReaderListener implements POIFSReaderListener { 77 78 String EventText = ""; 79 80 public String getEventText() { 81 return EventText; 82 } 83 84 public void processPOIFSReaderEvent(POIFSReaderEvent event) { 85 PropertySet ps = null; 86 try { 87 DocumentInputStream dis = null; 88 dis = event.getStream(); 89 Reader EventReader = new BufferedReader (new InputStreamReader (dis)); 90 int l = 0; 91 char ca[] = new char[1024]; 92 while (true) { 93 l = EventReader.read(ca, 0, 1024); 94 if (!(l>0)) { 95 break; 96 } 97 EventText = EventText + String.copyValueOf(ca, 0 , l); 98 } 99 } catch (Exception ex) { 100 EventText = ""; 101 } 102 } 103 } 104 } 105 | Popular Tags |