java读取word带格式?用jacob.jar吧, 读取word还是挺方便的,也可以把word直接转换成HTML或者jsp。而HTML也可以直接用BufferedReader()的方法来读取里面的数据再添加删除你需要的数据再转换成jsp。那么,java读取word带格式?一起来了解一下吧。
可以读取元素,将word相应的元素转换为html相应的元素。
不过很多word的特效都是html无法展侍培竖示的,具体的做法可以参考poi的文档,中庆文档很老大详细。
//被读取滑老的文件,当然,文件要存在
File file = new File("d:/a.txt");
//圆卖用装饰模式,得到操作他们的对象(难)
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
String str;//读一行,存在这个string中
//读一信腔升行,输出一行
while(null != (str = br.readLine()))
{
System.out.println(str);
}
//关闭流
br.close();
你可以试一下用队列保存文件的全部内容,然后以出队的形让信式显示,我在缺并c++中提取成功,用到的是queue
while(文件.peek()!=EOF){
c.push()=文件伏滑迹.get();
}可以尝试下
1、环境支持
1.1 添加poi支持:包地址http://www.apache.org/dyn/closer.cgi/poi/release/
1.2 POI对Excel文件的读取操作比较方便,POI还提供对Word的DOC格式文件的读取。但在它的发行版本中没有发布对Word支持的模块,需要另外一个POI的扩展的Jar包春戚。地址为http://www.ibiblio.org/maven2/org/textmining/tm-extractors/0.4/ extractors-0.4_zip这个文件
package com.ray.poi.util;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.textmining.text.extraction.WordExtractor;
/**
* 读写doc
* @author wangzonghao
*
*/
public class POIWordUtil {
/**
* 读入doc
* @param doc
* @return
* @throws Exception
*/
public static String readDoc(String doc) throws Exception {
/差森手/ 创建输入流读取DOC文件
FileInputStream in = new FileInputStream(new File(doc));
WordExtractor extractor = null;
String text = null;
// 创建WordExtractor
extractor = new WordExtractor();
// 对DOC文件进行提取
text = extractor.extractText(in);
return text;
}
/**
* 写出doc
* @param path
* @param content
* @return
*/虚嫌
public static boolean writeDoc(String path, String content) {
boolean w = false;
try {
// byte b[] = content.getBytes("ISO-8859-1");
byte b[] = content.getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(b);
POIFSFileSystem fs = new POIFSFileSystem();
DirectoryEntry directory = fs.getRoot();
DocumentEntry de = directory.createDocument("WordDocument", bais);
FileOutputStream ostream = new FileOutputStream(path);
fs.writeFilesystem(ostream);
bais.close();
ostream.close();
} catch (IOException e) {
e.printStackTrace();
}
return w;
}
}
测试
package com.ray.poi.util;
import junit.framework.TestCase;
public class POIUtilTest extends TestCase {
public void testReadDoc() {
try{
String text = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc");
System.out.println(text);
}catch(Exception e){
e.printStackTrace();
}
}
public void testWriteDoc() {
String wr;
try {
wr = POIWordUtil.readDoc("E:/work_space/poi/com/ray/poi/util/demo.doc");
boolean b = POIWordUtil.writeDoc("c:\\demo.doc",wr);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
前两天看过类似的案例。思路是先写个WORD模板,然后把你需要填写态笑租的地方改成$(xx)。之后在项目里调用哪个帆兆jar的方法,把参数填进去。具体的你可以搜一下百度。貌似挺多了。升散
以上就是java读取word带格式的全部内容,前两天看过类似的案例。思路是先写个WORD模板,然后把你需要填写的地方改成$(xx)。之后在项目里调用哪个jar的方法,把参数填进去。具体的你可以搜一下百度。貌似挺多了。