此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【success_beijing】截止到2008-07-12 09:25:53的历史汇总数据(不包括此帖):
发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:0                        结贴的总分数:0                        
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:0                        未结的总分数:0                        
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

解决方案 »

  1.   

    URL url = new URL(path); 
    HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
    SlideShow ss = new SlideShow(new HSLFSlideShow(connection.getInputStream()));// 我想那个类一定支持Stream操作,你去看看他的构造方法吧。
      

  2.   

    import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;import org.apache.lucene.document.Document;
    import org.apache.poi.hslf.HSLFSlideShow;
    import org.apache.poi.ddf.EscherRecord;
    import org.apache.poi.POIDocument;
    import org.apache.poi.hslf.model.TextRun;
    import org.apache.poi.hslf.model.Slide;
    import org.apache.poi.hslf.usermodel.SlideShow;public class pptRead{  public static void main(String args[]) throws Exception
      {
      String url="http://127.0.0.1:8080/WebRoot/aa.ppt";
      
      String s="";
      
      s=pptReadmethod(url);
      System.out.println(s);
            
    }

     public static String pptReadmethod(String path) throws Exception {
    // public static String getWordStr(int i) throws Exception{
        StringBuffer content = new StringBuffer("");
        try{
         URL url = new URL(path);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
       //DataInputStream in = new DataInputStream(connection.getInputStream());     //SlideShow ss = new SlideShow(new HSLFSlideShow(connection));//path为文件的全路径名称,建立SlideShow
       SlideShow ss = new SlideShow(new HSLFSlideShow(connection.getInputStream()));
         Slide[] slides = ss.getSlides();//获得每一张幻灯片
         
         for(int i=0;i<slides.length;i++){
          
          TextRun[] t = slides[i].getTextRuns();//为了取得幻灯片的文字内容,建立TextRun
          for(int j=0;j<t.length;j++){
           content.append(t[j].getText());//这里会将文字内容加到content中去
          }
          content.append(slides[i].getTitle());
         }
        }catch(Exception ex){
          System.out.println(ex.toString());
        } 
              return content.toString().trim();
              
    }}修改之后 代码如上所示
    运行之后 出现 这样的问题
    Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.getRoot()Lorg/apache/poi/poifs/filesystem/DirectoryNode;
    at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:120)
    at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:107)
    at com.pptRead.pptReadmethod(pptRead.java:38)
    at com.pptRead.main(pptRead.java:22)
      

  3.   

    说明有两个版本的jar文件,一个版本低。
    下面的代码显示老的那个版本。
    使用poi要确保版本唯一。
    ClassLoader classloader = org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getClassLoader();
    URL res = classloader.getResource("org/apache/poi/poifs/filesystem/POIFSFileSystem.class");
    String st = res.getPath();
    System.out.println("Core POI came from " + st);