浏览 2199 次
锁定老帖子 主题:通用各类文档读写的设计与实现
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-21
最后修改:2008-11-21
在我们日常的项目开发中,经常碰到需要读取word等文档的需求,如何来设计和实现呢?我的实现代码如下:
package com.common.doc; public interface IDoc { public String read(); public boolean write(String str); public boolean rename(String newName); public boolean exists(); }
package com.common.doc; import java.io.File; public class AbstractDoc implements IDoc{ private String filepath; public String getFilepath() { return filepath; } public AbstractDoc(String path){ this.filepath = path; } public boolean exists() { File f=new File(filepath); return f.exists(); } @Override public String read(){ return ""; } public boolean rename(String newName) { try{ File f=new File(filepath); String str=filepath.substring(0,filepath.lastIndexOf("\\")); f.renameTo(new File(str+"\\"+newName)); }catch(Exception ex) { return false; } return true; } @Override public boolean write(String str) { return false; } }
如Wod实现代码如下: package com.common.doc; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import org.apache.poi.hwpf.extractor.WordExtractor; public class WordDoc extends AbstractDoc{ public WordDoc(String path){ super(path); } public String read(){ StringBuffer sb = new StringBuffer(); try { InputStream is = new FileInputStream(super.getFilepath()); WordExtractor ex = new WordExtractor(is);// is是WORD文件的InputStream sb.append(ex.getText()); } catch (Exception e) { e.printStackTrace(); } return sb.toString(); } }
IDoc doc = new WordDoc("c:\\测试文档.doc"); if(doc.exists()){ System.out.println(doc.read()); }else{ System.out.println("word不存在"); } 欢迎各位拍砖讨论! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-11
package com.common.doc; public interface IDoc { public String read(); public boolean write(String str); public boolean rename(String newName); public boolean exists(); } |
|
返回顶楼 | |